<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cfms="http://www.conformis.com/20230331"
  xmlns:country="http://xbrl.sec.gov/country/2022"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2022"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  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="cfms-20230331.xsd" xlink:type="simple"/>
    <context id="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="idac8389f1ea8431d93be9ab86eb4ebf7_I20230430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="ia917df9b424e4603b4c9e35009a9cc40_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i0942d5e63e4c4ee38768a022673c4ba7_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i60ef259b6bf24acaa0dc0e5b02e8cb3b_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i565173413ab44545942d93f39a4a5b62_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id01ba4cf87cd4cb38a25dc6b7acc5818_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:RoyaltyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iecbe3ee9d9b04f36aa20e0771ca7aec9_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="if63234ebd1234322b7239da87166381e_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i697adbef4d0947c1a6dc0175d1bc8890_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i83aab01c96c444188441737fda42e5e7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="iaf5d009dcd624ae08d389079ff45536c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i1f742882b06e4af9b7564343d6d4d97a_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i04f68a76c27842358a23f70ae9a71f3b_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ife836973ef09409182d5501ad007440c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i538df57162844339a4f22fe349651528_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i951f855f28b242b882a214ac8e5d207f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ia08ff864ab7748ab992531ff41d0823f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="id25d20f74dae4e659d665676105f16ba_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="iea9557801e664227898b32892325ba96_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i5f98e25fa98c4fa5894100a2abc8949b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i34caf855abc44145ad5cff3c11ebe236_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="ie8578b9fa2c24f7e98eff37d01b9fc10_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i309612b0a42b487ab4c3eac4cff4e73a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i17e034286edf4f40b8a2a360d5c05a9a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i2ec6139eb34743d3b20a338760f69a61_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="icca5ba97016d4e1d99712f2d4a35dcb2_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ifee88a9e06d74a3bb8440c896e89ba6d_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7381b902438e4e299e3e52f9a845c1d0_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i33df601d4cd94ae185a19241e043ada7_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="icf258ce366b54c8c9395613232f83a0b_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i820f64332b534f8c92fe903541c9feec_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="id18a0a4ca4244eceb5461bcf9fc69d7f_I20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="i215b99d1434d464db3221425af3c9a01_I20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2022-10-26</instant>
        </period>
    </context>
    <context id="ic0bf8e944892482abedcfc3a1060494e_D20211122-20211122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-22</startDate>
            <endDate>2021-11-22</endDate>
        </period>
    </context>
    <context id="ia29c285dc04b44e3a504ab20c3577998_I20211122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-22</instant>
        </period>
    </context>
    <context id="id8476dc924a7497491b6a2663b5e3546_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="i8cbb182ad04b4bc887c29c4c259b7770_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia9f111bbc52b45228a5d25a4a18fcd9e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i9e1e4f5fe47e497280255d30dcaa4904_I20230101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2023-01-01</instant>
        </period>
    </context>
    <context id="i0ad14d80446845e49b08db5dcc6ea280_I20220101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2022-01-01</instant>
        </period>
    </context>
    <context id="i1180499265324a26a46e240ab780c2a1_D20210408-20210408">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cfms:Paragon28IncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-08</startDate>
            <endDate>2021-04-08</endDate>
        </period>
    </context>
    <context id="ibc465dfa64d64596aecea20d6ad134c0_D20211001-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cfms:Paragon28IncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i88ad3df1a4174cd09bbbb785ff6ca523_D20220407-20220407">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cfms:Paragon28IncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-07</startDate>
            <endDate>2022-04-07</endDate>
        </period>
    </context>
    <context id="i15ec3314ab0543988c7b3d945689276e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cfms:Paragon28IncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i95a24cd118de46ce9533544ac43724ec_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cfms:Paragon28IncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ic5d81f1f110a453aa615c60a6cd4af98_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i6068fafb782f4f92a72bef047ddbc94d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic43fc85911aa4f179f25673a11e151cc_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i80407371990c40ca8cf41dbdf35d28ab_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i38fcac73e8654b0fae0c6afe7c2fc07a_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib58976521f1847c5bdcd48fadb3e4436_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i8496bdf86a2b4266aba21f8932711d5c_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">us-gaap:TradeAccountsReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i12bf17be2c0c4b6fa8b62b98ac713636_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">cfms:OtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie903fb10e284495191e0d19923c4d1e5_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">cfms:OtherReceivablesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i162a95092d3e4c57b1e4dfb334733fb3_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia60aa17eafb54c278b7797a53ce55564_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ie44df80d16ac4f1f931933cf0326309d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="icc9f195695cc4f6c9c41f62a14d0faf1_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i67aa6db902d8486d9e0d97e287d1f17f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib196bd119faa41959aab9a5d7ec83b88_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ieddab86d815d432e81b37ffbd817e223_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i5da7de00e49347dabcf93278a0229ad7_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i66a6efcc24df495a9b8c0e432cca8e8f_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i30da22bb7acc4aac903a85ac9b40bec5_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i453246dc9c114bbdad2deb864f4bf1b0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:ComputerEquipmentAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4997b763dc354ef9a2cca26a64ed4504_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i761043fc4dda4d21adafcd59b91451eb_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4c65b257a588489bb63935029f05c50f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="if2ef50d4f42847fc8aabeed1e3696e70_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i06e31e2d9c8f485fb10dc03df0679133_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:ReusableInstrumentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i2d21bf83b03d4b7b95edcdc806515975_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:ReusableInstrumentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i4d4696ae636a47cf8d583fa24926a490_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:ReusableInstrumentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ifa48aaa025a84661ac6eb285a9e718c0_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:MoldingAndToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i120718042fbf4fd5893900b980f56bb6_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:MoldingAndToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i42d56f0c0f334316a7cfa68f25361a0c_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">cfms:MoldingAndToolingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i20dc603cbb224465ac49f5f8a4652a0f_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i26a50bb250eb45ef9e76314e3ff46916_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ica5786d03ef941abb2aeac19df262f65_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis">cfms:BillericaFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6957c63e0d604760a45600aed299a529_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">cfms:RevenueShareAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cfms:MembersOfScientificAdvisoryBoardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i94212ed100c244e0905b134d86d9430c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">cfms:RevenueShareAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">cfms:MembersOfScientificAdvisoryBoardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i45caac9eb06b415289158065d7075654_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">cfms:RevenueShareAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5c70028139774b3b8441f687c5fb48b7_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">cfms:RevenueShareAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ic12f921cae74496f92dc47041c087190_D20190829-20190829">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">cfms:ConformisvMedactaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-29</startDate>
            <endDate>2019-08-29</endDate>
        </period>
    </context>
    <context id="i5d51fa0aae6e4717a401e92a6ed834e9_I20220728">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">cfms:ConformisvMedactaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-07-28</instant>
        </period>
    </context>
    <context id="i7bc5cd8f53ac4db0993d5c6dc7c5bc1c_D20200320-20200320">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">cfms:OsteoplasticsVConformisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-20</startDate>
            <endDate>2020-03-20</endDate>
        </period>
    </context>
    <context id="i35bbf177572142769c370b1bea552208_D20210430-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">cfms:ConformisVDePuyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-30</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="ic17cd686ff04450c8463d3ef8010b296_D20210603-20210603">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">cfms:ConformisVExactechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-03</startDate>
            <endDate>2021-06-03</endDate>
        </period>
    </context>
    <context id="i2685d435c30d4035a4ffced5310e2e7a_D20210603-20210603">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">cfms:ConformisVBodycadAndExactechMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-06-03</startDate>
            <endDate>2021-06-03</endDate>
        </period>
    </context>
    <context id="i69593b7b63154bbeb6954c23eb8c3370_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7473f44da63f4161aea864bbdbe82fe4_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i3dcfa4e9d879409195bcbd6dbce4ac50_D20211031-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-31</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i7ceac62fb710486b8afd07d124447432_D20211031-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-31</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="ie6b0e13eb49a427e95cf931978511488_D20211031-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-31</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i912af0eaa76f40fc81bc1401bf8be888_D20211031-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-31</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i722e2466d26f4445a26c4ad0eb4e9d50_D20211031-20211031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cfms:MidCapFinancialServicesLLCTermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-31</startDate>
            <endDate>2021-10-31</endDate>
        </period>
    </context>
    <context id="i518c2c214dfb4fe3a1be6117664d9817_I20211122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-11-22</instant>
        </period>
    </context>
    <context id="i8ad070ac4e564c319697ae7031ce5d93_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">cfms:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cfms:MidCapFinancialServicesLLCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if00cfbd94a94441084f22cefd0c89a6b_I20210329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2021-03-29</instant>
        </period>
    </context>
    <context id="i58975524a6794948bcd817af88edb0a0_I20210330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <instant>2021-03-30</instant>
        </period>
    </context>
    <context id="if30b9020b85b438cac931d3ca40015fc_D20190625-20190625">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RegistrationPaymentArrangementByArrangementAxis">cfms:A2019RightsAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-06-25</startDate>
            <endDate>2019-06-25</endDate>
        </period>
    </context>
    <context id="ic2aa46f1198242ccbaf2d785292601fa_D20200323-20200323">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
        </entity>
        <period>
            <startDate>2020-03-23</startDate>
            <endDate>2020-03-23</endDate>
        </period>
    </context>
    <context id="iee07769e778b4b4b9d9054e3e006fbe3_D20200805-20200805">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:CowenSalesAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-05</startDate>
            <endDate>2020-08-05</endDate>
        </period>
    </context>
    <context id="ied081ce1558c4bc2b23be4658cb79016_D20210217-20210217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:ShelfRegistrationStatementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-02-17</startDate>
            <endDate>2021-02-17</endDate>
        </period>
    </context>
    <context id="i9e6721b9b46a469fba86fccff5123c0a_I20210217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:ShelfRegistrationStatementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-17</instant>
        </period>
    </context>
    <context id="i99f7bda5ec994b5abe9a6b140a3c981e_D20200923-20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:RegisteredDirectOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-23</startDate>
            <endDate>2020-09-23</endDate>
        </period>
    </context>
    <context id="i2ec6b140bb9f41d184e77b7bdf6718fc_D20200923-20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:RegisteredDirectOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-23</startDate>
            <endDate>2020-09-23</endDate>
        </period>
    </context>
    <context id="ida665b4ede254fb7b1cc0677d6b65204_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:RegisteredDirectOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="if9c5c2f88ee14e71b0162aaac10b8849_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:RegisteredDirectOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="i342a272274cd43fe8b636c0fbb02a38f_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:RegisteredDirectOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="i1f1517e1721440a6a9d8f15a237d95fa_D20200923-20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">cfms:RegisteredDirectOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-23</startDate>
            <endDate>2020-09-23</endDate>
        </period>
    </context>
    <context id="i7038bb8e535445d2b61119a1550257bc_D20200923-20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-23</startDate>
            <endDate>2020-09-23</endDate>
        </period>
    </context>
    <context id="ibc89fb8dd3cd44f7ae1ad853d30418c5_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="if6683e68d4db472f9657643e4ecaaf7b_D20200924-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-24</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i6329c1fd70594e85bb15e6609f4dfdf9_D20200923-20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-23</startDate>
            <endDate>2020-09-23</endDate>
        </period>
    </context>
    <context id="ie187a0fb6e2244f1a90b008553d9ef2a_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="i431f451859f943faa349fb7c2f2f8da9_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">cfms:MeasurementInputDividendYieldMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="i06e1f7cc91424feb86164e8f6fbc86c2_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="ib6984455c9824ef68d06f8045b25f824_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExercisePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="i3796d6d01a0a423898bf56a2ce13801c_I20200923">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:PreFundedWarrantsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputSharePriceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-23</instant>
        </period>
    </context>
    <context id="ie809259c5a57451b8d3ba6f0bb59cea0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="ie5bdd95a58d44754a6f4004025f5add8_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i5f5714d516bd44d9b73bad2bfdc46f77_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">cfms:WarrantsForPurchaseOfCommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i9eb6221e8c5b45afb084be6ca7254c0d_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:EquityIncentivePlan2015Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i2ad6a5018504444ca4e3c289063437e2_I20230101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:EquityIncentivePlan2015Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-01-01</instant>
        </period>
    </context>
    <context id="if04d6fcaaafa4e6ca6bfb900c691f25a_I20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:EquityIncentivePlan2015Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-24</instant>
        </period>
    </context>
    <context id="i89379c75bb6a45eaa240fb5fb8819ae0_I20190429">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:A2019SalesTeamPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-04-29</instant>
        </period>
    </context>
    <context id="i3e38f5ec10d24f81a460bf1c89194e5a_D20190429-20190429">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:A2019SalesTeamPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-29</startDate>
            <endDate>2019-04-29</endDate>
        </period>
    </context>
    <context id="i028eda541cd844d882dba9d55972e9b8_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:A2019SalesTeamPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i6d899932301f489085e11736d22bf799_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:EmployeeDirectorAndConsultantStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:EmployeeDirectorAndConsultantStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="id81d256c14b84662bf26b39cba0df36b_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:EmployeeDirectorAndConsultantStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="icffd611d32484a2d86e116a190232e25_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i78de83c331f2425c9221bd142f87ddb9_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7be221bdd0634fe8968534b9c0fe6441_D20200201-20200229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:InducementAwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="i54dd194b14c34d8385c6b528a3e937d6_D20200201-20200229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="i022243edc25243769ad4ed484c4b20e8_D20211101-20211130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cfms:VicePresidentInternationalSalesAndMarketingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="idd9d71a9c9e84060a3b73daccd9fc48b_D20220301-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:InducementAwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i0f8e39fa59414b4a87f2435358793693_D20220301-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib6c8488c858e48b5b7ace35e415a41b3_D20220401-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:InducementAwardMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i0f1e0e5132b54f19a71ee72c1d908d5c_D20220401-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="i1b126045c0394cebba09215eb34b29d7_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i642107941f1648e6ac5d4da6b4af52bc_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ic5d5386168d0446ca4b8bae61d3415cd_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i5a7ab2aec24547748a4b023f8c8023d5_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia6298e5d3e834b999e26caf17466fde7_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if001fdf021074954b26b4d093e549962_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i2ae4d862ecd549a5b17735789646ab05_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ia63a8368f0de4f56bf9d32c093fa3804_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i3153c80be6984bc0bb094265afb19f8b_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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="i3a09680f37184a1f8abf4a68a518554f_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</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>
    <context id="i1d347f32488449faa35e806dedfe7750_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:FixedRatioAxis">cfms:FixedRatioOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="i59def5386dc14195bec6b0f932a55be3_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:FixedRatioAxis">cfms:FixedRatioTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="i005b0f9250f64aa68241dd78ef5cc550_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:FixedRatioAxis">cfms:FixedRatioThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="iadf42f43a63c4b1f909e63ea0be8005d_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:ApprovedRatioAxis">cfms:ApprovedRatioOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="i8ad1effc9e814eb8b2cf0103959d9cd5_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:ApprovedRatioAxis">cfms:ApprovedRatioTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="i3412c82f9b6a41b9af159b83fa8ecfdc_D20221026-20221026">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:ApprovedRatioAxis">cfms:ApprovedRatioThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-26</startDate>
            <endDate>2022-10-26</endDate>
        </period>
    </context>
    <context id="i3fda18c6b4584fcb970be5306d356af1_D20221101-20221130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="cfms:FixedRatioAxis">cfms:FixedRatioThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2022-11-30</endDate>
        </period>
    </context>
    <context id="ia9b01f4c0c4b4150b3f200609f07a4a8_D20220101-20220101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:EquityIncentivePlan2015Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-01</endDate>
        </period>
    </context>
    <context id="i9e1e84ff514940d39127e5c98862323e_D20210524-20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:EquityIncentivePlan2015Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-05-24</endDate>
        </period>
    </context>
    <context id="idc4de1a214514d799d658a58d798b57a_D20230331-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:EquityIncentivePlan2015Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-31</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7467ff18e31e4bfb88371c0b0ab16fd3_D20230331-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cfms:A2019SalesTeamPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-03-31</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib4cfb454f696414fbf315f20ef4a7480_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cfms:EmployeeDirectorAndConsultantStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i57b86a3e290b4d06a7cca36b0bd625cf_D20220101-20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="i53fa2c0307f64980a8f2eb4adb083bba_D20200201-20200229">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-02-29</endDate>
        </period>
    </context>
    <context id="icec00efc8a96462aaa811ffd53998ef8_D20211101-20211130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">cfms:VicePresidentInternationalSalesAndMarketingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-11-01</startDate>
            <endDate>2021-11-30</endDate>
        </period>
    </context>
    <context id="ie353c4e52d9d483abc9e529afd71bbdd_D20220301-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefFinancialOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-03-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i9823cd2e90194182919ebda8300e3421_D20220401-20220430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefOperatingOfficerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-30</endDate>
        </period>
    </context>
    <context id="ifd91182059ae426fbca9d4ca4f94e105_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i424d3e7c93c848cb848dda0ac62c1aa3_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i7689b64c8aa049a888174066eef71c97_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i4dc4d5a631da4d678e64c4485931d66b_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i80a1d0bba798431a9c8b011999838663_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i177c4372793a4a3dafc8855362f57b0e_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="id8ddce5dff254542942cba52dfda6be1_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ib8655250a9b14ab79130a7606a26510e_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic659416c8b6248ec9f5fc9e33cdd042c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="idc40dbd2b6b848978181dcced03d0086_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i41859ea387574eccbfa5a372cc5b2433_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i946d40d0bedc420ba45c2f7b52062f5f_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i799bac3d1f9e4354867920a4d232491c_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i3a7a978aaba14389bd651b5b129cbd50_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="ic59ed52746944a4f8f0477a9aad12cb5_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="i9cf6fa95d6624adfbf7a1f2f65d0e3f6_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ia6ce3ea41c8e4e15aa34da604e6f41f8_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i9159412667b4473f955f916d11067df4_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="ib18ead1dda4a4825b9a16014b84c760d_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="if82b99992f534d598226f3508de57a89_D20230101-20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="idf3c4cfb9fdd4416a27756b9f2b22439_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:KneeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="i7fa81761e9da4250b9e9c53a76b277dd_D20220101-20220331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cfms:HipMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="iedc60fa9b1c549379b0b923076ae6ac5_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="ie251faa2b17c41d19b3b39577dae86d5_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i4b64f4c7c204423095f31520f13320bb_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7892fd953cd04f309b85c0a2206e43d0_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="i7e1ea404c1794f939034ac0d143b07c1_I20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="i7d22a29f9f3b4809a61b927a4dc52f91_I20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001305773</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>cfms:segment</measure>
    </unit>
    <unit id="extension">
        <measure>cfms:extension</measure>
    </unit>
    <unit id="patent">
        <measure>cfms:patent</measure>
    </unit>
    <unit id="eur">
        <measure>iso4217:EUR</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80L2ZyYWc6NDk3ZjlhNjAyZjMzNDQ3ZGFjODM4OWM3ODJmZGI3ZjEvdGFibGU6NTFhYWExZmU2ZjA4NDQzMTljNDc0Mzg1OGE1MDIwOTQvdGFibGVyYW5nZTo1MWFhYTFmZTZmMDg0NDMxOWM0NzQzODU4YTUwMjA5NF80LTEtMS0xLTU0Njk2_a9159110-d2d2-469e-b2ee-f9ef39d1809c">0001305773</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80L2ZyYWc6NDk3ZjlhNjAyZjMzNDQ3ZGFjODM4OWM3ODJmZGI3ZjEvdGFibGU6NTFhYWExZmU2ZjA4NDQzMTljNDc0Mzg1OGE1MDIwOTQvdGFibGVyYW5nZTo1MWFhYTFmZTZmMDg0NDMxOWM0NzQzODU4YTUwMjA5NF81LTEtMS0xLTU0Njk2_b061eca5-47bc-407f-b3cf-53f1788cc0f3">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80L2ZyYWc6NDk3ZjlhNjAyZjMzNDQ3ZGFjODM4OWM3ODJmZGI3ZjEvdGFibGU6NTFhYWExZmU2ZjA4NDQzMTljNDc0Mzg1OGE1MDIwOTQvdGFibGVyYW5nZTo1MWFhYTFmZTZmMDg0NDMxOWM0NzQzODU4YTUwMjA5NF8xMy0xLTEtMS01NDY5Ng_c6a2164a-57bf-43f6-8ea9-2d07554fa440">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80L2ZyYWc6NDk3ZjlhNjAyZjMzNDQ3ZGFjODM4OWM3ODJmZGI3ZjEvdGFibGU6NTFhYWExZmU2ZjA4NDQzMTljNDc0Mzg1OGE1MDIwOTQvdGFibGVyYW5nZTo1MWFhYTFmZTZmMDg0NDMxOWM0NzQzODU4YTUwMjA5NF8xNC0xLTEtMS01NDY5Ng_955b1651-0716-4dd2-8c4b-99e76e6811c9">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80L2ZyYWc6NDk3ZjlhNjAyZjMzNDQ3ZGFjODM4OWM3ODJmZGI3ZjEvdGFibGU6NTFhYWExZmU2ZjA4NDQzMTljNDc0Mzg1OGE1MDIwOTQvdGFibGVyYW5nZTo1MWFhYTFmZTZmMDg0NDMxOWM0NzQzODU4YTUwMjA5NF8xNS0xLTEtMS01NDY5Ng_bfd3147b-c019-45b5-9c2c-e5c77f7a467e">false</dei:AmendmentFlag>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjI1L2ZyYWc6ZWEyMWQ4ZGY2YjYyNGI0NTkxYTZjODJlNWFkNGRlODMvdGV4dHJlZ2lvbjplYTIxZDhkZjZiNjI0YjQ1OTFhNmM4MmU1YWQ0ZGU4M18xNjQ5MjY3NDQxODAw_036316af-751d-4870-bd6a-36cb1f7a9736"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjI1L2ZyYWc6ZWEyMWQ4ZGY2YjYyNGI0NTkxYTZjODJlNWFkNGRlODMvdGV4dHJlZ2lvbjplYTIxZDhkZjZiNjI0YjQ1OTFhNmM4MmU1YWQ0ZGU4M18xNjQ5MjY3NDQxODAw_c4151b11-c25f-44f6-982c-33a53027d629"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjMyL2ZyYWc6MGFmMmIzOThjY2UwNDcwYmFjODdlNzkyYTExNGNlNGMvdGV4dHJlZ2lvbjowYWYyYjM5OGNjZTA0NzBiYWM4N2U3OTJhMTE0Y2U0Y18xMDk5NTExNjI3ODk1_1c6b988f-c99b-425c-8b8f-fb1293bd46a1"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjMyL2ZyYWc6MGFmMmIzOThjY2UwNDcwYmFjODdlNzkyYTExNGNlNGMvdGV4dHJlZ2lvbjowYWYyYjM5OGNjZTA0NzBiYWM4N2U3OTJhMTE0Y2U0Y18xMDk5NTExNjI3ODk1_6d2e2e7f-1281-4b62-aad2-41d53250ec81"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="id8476dc924a7497491b6a2663b5e3546_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80MC9mcmFnOjRkMmM4NWExMDY5NDRmNjhhMTQ4MzgzNmQyMDM0OWE1L3RleHRyZWdpb246NGQyYzg1YTEwNjk0NGY2OGExNDgzODM2ZDIwMzQ5YTVfMTY0OTI2NzQ2NTExMw_3057792f-fe11-4ed7-bfb6-1e940e47e3f1"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjM5L2ZyYWc6YjVmZGE1MWQ5MDlkNGRjNWE1NDlkYzZlMzg2YTBhYTIvdGV4dHJlZ2lvbjpiNWZkYTUxZDkwOWQ0ZGM1YTU0OWRjNmUzODZhMGFhMl8xMDk5NTExNjI5MTY3_45fcba23-76ba-45b8-b862-3e7b02b68339"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjM5L2ZyYWc6YjVmZGE1MWQ5MDlkNGRjNWE1NDlkYzZlMzg2YTBhYTIvdGV4dHJlZ2lvbjpiNWZkYTUxZDkwOWQ0ZGM1YTU0OWRjNmUzODZhMGFhMl8xMDk5NTExNjI5MTY3_515ee7a2-c6e4-4a7a-afa7-032f694e66cd"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjM5L2ZyYWc6YjVmZGE1MWQ5MDlkNGRjNWE1NDlkYzZlMzg2YTBhYTIvdGV4dHJlZ2lvbjpiNWZkYTUxZDkwOWQ0ZGM1YTU0OWRjNmUzODZhMGFhMl8xMDk5NTExNjI5MTc4_3b08ae19-814d-46be-a03c-9cf6c6e5ecbd"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMjM5L2ZyYWc6YjVmZGE1MWQ5MDlkNGRjNWE1NDlkYzZlMzg2YTBhYTIvdGV4dHJlZ2lvbjpiNWZkYTUxZDkwOWQ0ZGM1YTU0OWRjNmUzODZhMGFhMl8xMDk5NTExNjI5MTc4_426e9d7d-1625-4797-a92b-836d3914de43"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="i20dc603cbb224465ac49f5f8a4652a0f_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMzYy_af67cc31-0893-4c22-9feb-defd1fb98f76">P1Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3153c80be6984bc0bb094265afb19f8b_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzM2NA_4c12753c-cade-4aac-be87-c4294f27ab93"
      unitRef="number">0.5</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3a09680f37184a1f8abf4a68a518554f_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzM4MQ_2b427ec3-1cd1-46e5-82ac-d6687500ca01"
      unitRef="number">0.1</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1d347f32488449faa35e806dedfe7750_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzkwMw_c38db040-c025-4141-be15-36ac730a1194"
      unitRef="number">0.06</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i59def5386dc14195bec6b0f932a55be3_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzkxNw_e0e693a4-ef4b-47e5-ab32-6744ce5e0f5d"
      unitRef="number">0.05</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i005b0f9250f64aa68241dd78ef5cc550_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzkzNA_027a8650-69fc-4554-a434-be4868c61e96"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="iadf42f43a63c4b1f909e63ea0be8005d_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwNjM_90e768c8-b69a-429e-8635-b58685da42d9"
      unitRef="number">0.11</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i8ad1effc9e814eb8b2cf0103959d9cd5_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwNzc_d9f09dfb-cb70-4672-9fef-d69062d1a8d8"
      unitRef="number">0.083</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3412c82f9b6a41b9af159b83fa8ecfdc_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTQ_542b3ac8-3cea-41fb-b7bd-db0198fa1317"
      unitRef="number">0.07</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i005b0f9250f64aa68241dd78ef5cc550_D20221026-20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2NDAyODU_52195d9d-0abc-4d07-addd-c59ba6515f5d"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i3fda18c6b4584fcb970be5306d356af1_D20221101-20221130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2NDAyOTg_02dfdfdb-98ec-4657-9be3-e9ef968ff212"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ied081ce1558c4bc2b23be4658cb79016_D20210217-20210217"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2Mjk2ODQ_f7d28596-d861-4336-ab1b-453fc43dc151"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i2ec6b140bb9f41d184e77b7bdf6718fc_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzE3Nzk_04e761cb-7415-45b1-b933-1a812bc2ef61"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1f1517e1721440a6a9d8f15a237d95fa_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzE3OTI_cffe6d38-46fc-4a18-9687-5241918d22c3"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i1f1517e1721440a6a9d8f15a237d95fa_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzUxNzY_6a587201-3f0f-44c2-9191-6186346a8de2"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i7038bb8e535445d2b61119a1550257bc_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzUwNjQ_40912bd8-8ba4-42c6-9f30-dc727cc4f77a"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5f5714d516bd44d9b73bad2bfdc46f77_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzY1ODQ_6a5fdf8a-53a3-4d52-afd2-f9b7ce432713"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzY1ODQ_c6c7c0fd-1fe4-44ab-acf8-4f84f97ff844"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ia9b01f4c0c4b4150b3f200609f07a4a8_D20220101-20220101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzY2Nzg_565415f4-fba6-41c1-9025-a299798b1829"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i9e1e84ff514940d39127e5c98862323e_D20210524-20210524"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzY2NjU_8c686755-d082-4357-9dd6-b1c0ca0d78fa"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="idc4de1a214514d799d658a58d798b57a_D20230331-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzY2NTE_d6ae07c5-52d1-4b0a-b6eb-88e00770a13d"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i7467ff18e31e4bfb88371c0b0ab16fd3_D20230331-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzY4Nzk_972e82af-f240-4897-a34e-a964d414edb0"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ib4cfb454f696414fbf315f20ef4a7480_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzcxNTE_5a249394-1465-4c3c-b88b-ca85d75cc039"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzcxNTE_d6828192-54b1-4347-8c1e-0ea2c1f3f160"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i57b86a3e290b4d06a7cca36b0bd625cf_D20220101-20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzcxNDA_44645d7a-e59c-49e0-afb6-afc988676653"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzcxNDA_75e6e934-c17d-4107-96d2-b90b64dd42ff"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i53fa2c0307f64980a8f2eb4adb083bba_D20200201-20200229"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzkyOTQ_b02ec2f8-ed7b-407f-a1aa-00658931c726"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="icec00efc8a96462aaa811ffd53998ef8_D20211101-20211130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzkzMDc_c7f63bc9-acb7-4607-8213-7c24a2504b64"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="ie353c4e52d9d483abc9e529afd71bbdd_D20220301-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzkzMjA_52fd80c1-f20d-4df6-a382-dc268b05b4af"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i9823cd2e90194182919ebda8300e3421_D20220401-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDMvZnJhZzo5Y2UyMWQ2MGY3NzM0M2MyYWU1YjFhZGRiMTc4YmEyMi90ZXh0cmVnaW9uOjljZTIxZDYwZjc3MzQzYzJhZTViMWFkZGIxNzhiYTIyXzEwOTk1MTE2MzkzMzM_93d147b8-9cae-4728-816b-5536b452b4ce"
      unitRef="number">0.04</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <dei:DocumentType
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDMx_9d11458a-88be-4709-94e3-b07eff3ba2bd">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDMz_7c26b243-17bb-4ef8-a537-fb32f8b4eea2">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMjk_a96199da-1e97-409b-b07a-b743c1a0302d">2023-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDI1_556e102d-02aa-4cde-bb03-f7e33f73acf4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDMy_277c5497-d2e3-46d9-a540-7f93da0e5b74">001-37474</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDI2_df626959-b40d-4b9a-8f2e-9707c681df92">Conformis,&#160;Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6YzU3ZTNlOTljMjgyNDIxMGIwNDk2YjJmY2QyMjM5NWIvdGFibGVyYW5nZTpjNTdlM2U5OWMyODI0MjEwYjA0OTZiMmZjZDIyMzk1Yl8wLTAtMS0xLTU0Njk2_6aaedf6a-2d1d-41e9-b74e-fb74d74dcfbf">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6YzU3ZTNlOTljMjgyNDIxMGIwNDk2YjJmY2QyMjM5NWIvdGFibGVyYW5nZTpjNTdlM2U5OWMyODI0MjEwYjA0OTZiMmZjZDIyMzk1Yl8wLTEtMS0xLTU0Njk2_240ff5ed-083d-4085-9db1-132441e31122">56-2463152</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6ZmQ0ZmMzODNhZDZhNGFlNGFmYzdjMzg1MjNjZDNlNjQvdGFibGVyYW5nZTpmZDRmYzM4M2FkNmE0YWU0YWZjN2MzODUyM2NkM2U2NF8wLTAtMS0xLTU0Njk2L3RleHRyZWdpb246Y2QxMGFmNWM1MjczNDQ5ZTg3ZjEzMmEwMDI3ZDA1NzNfNA_7bb7cc83-846a-4b6c-be8b-34ae5531fdae">600 Technology Park Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6ZmQ0ZmMzODNhZDZhNGFlNGFmYzdjMzg1MjNjZDNlNjQvdGFibGVyYW5nZTpmZDRmYzM4M2FkNmE0YWU0YWZjN2MzODUyM2NkM2U2NF8wLTAtMS0xLTU0Njk2L3RleHRyZWdpb246Y2QxMGFmNWM1MjczNDQ5ZTg3ZjEzMmEwMDI3ZDA1NzNfNw_60c39ca8-7dda-42c7-9b7d-aee77179af36">Billerica</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6ZmQ0ZmMzODNhZDZhNGFlNGFmYzdjMzg1MjNjZDNlNjQvdGFibGVyYW5nZTpmZDRmYzM4M2FkNmE0YWU0YWZjN2MzODUyM2NkM2U2NF8wLTAtMS0xLTU0Njk2L3RleHRyZWdpb246Y2QxMGFmNWM1MjczNDQ5ZTg3ZjEzMmEwMDI3ZDA1NzNfMTE_9b97166f-01d5-459c-98e3-fe4bfb8e65bd">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6ZmQ0ZmMzODNhZDZhNGFlNGFmYzdjMzg1MjNjZDNlNjQvdGFibGVyYW5nZTpmZDRmYzM4M2FkNmE0YWU0YWZjN2MzODUyM2NkM2U2NF8wLTEtMS0xLTU0Njk2_a7fc5990-65e1-4137-a0a1-b439357ca998">01821</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV81Mjg_330e8305-53b1-406e-8e8a-7b86bd1e3479">781</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDI3_1aae63f8-eb49-4d56-a0d8-d58f26a02f1c">345-9001</dei:LocalPhoneNumber>
    <dei:EntityCurrentReportingStatus
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDI4_6597e378-b0a6-420c-87a9-1e38d6b46ab2">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDI5_0c5828af-484a-400b-9bf8-ab7302991a13">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6OGJmNjdjMmU4M2Q2NDA5MzlmZWRhYzllODU0ZGRhMzgvdGFibGVyYW5nZTo4YmY2N2MyZTgzZDY0MDkzOWZlZGFjOWU4NTRkZGEzOF8yLTAtMS0xLTU0Njk2_4f0e3805-3360-4b2b-9965-65ea9bafc4ae">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6OGJmNjdjMmU4M2Q2NDA5MzlmZWRhYzllODU0ZGRhMzgvdGFibGVyYW5nZTo4YmY2N2MyZTgzZDY0MDkzOWZlZGFjOWU4NTRkZGEzOF8yLTMtMS0xLTU0Njk2_cd9cf799-080e-4c46-a8b2-466a91b61b8c">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6OGJmNjdjMmU4M2Q2NDA5MzlmZWRhYzllODU0ZGRhMzgvdGFibGVyYW5nZTo4YmY2N2MyZTgzZDY0MDkzOWZlZGFjOWU4NTRkZGEzOF80LTMtMS0xLTU0Njk2_01408122-939f-4be8-b106-6b570a0ed345">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yMDMw_a990f32f-5ab6-44e5-9af3-06e062754c8e">false</dei:EntityShellCompany>
    <dei:Security12bTitle
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6ODIyOTQ2OWVlMzdjNGQ0MjlhZTM2ZGRkOWIyNmFiMTYvdGFibGVyYW5nZTo4MjI5NDY5ZWUzN2M0ZDQyOWFlMzZkZGQ5YjI2YWIxNl8xLTAtMS0xLTU0Njk2_68ec70b6-f5b2-4e02-95e2-4e9b216add11">Common Stock, $0.00001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGFibGU6ODIyOTQ2OWVlMzdjNGQ0MjlhZTM2ZGRkOWIyNmFiMTYvdGFibGVyYW5nZTo4MjI5NDY5ZWUzN2M0ZDQyOWFlMzZkZGQ5YjI2YWIxNl8xLTEtMS0xLTU0Njk2_14d45224-f38b-4727-88c6-b3c1b59c64ec">CFMS</dei:TradingSymbol>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="idac8389f1ea8431d93be9ab86eb4ebf7_I20230430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xL2ZyYWc6ODM1YTliOTRkMTY5NDZhNGJhOWRmZTlkMTI5ZTBlOGEvdGV4dHJlZ2lvbjo4MzVhOWI5NGQxNjk0NmE0YmE5ZGZlOWQxMjllMGU4YV8yNzQ4Nzc5MDcxNzc4_ec297443-d9b5-4e45-b2c7-4d1907f8192a"
      unitRef="shares">7495960</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNC0xLTEtMS01NDY5Ng_bdbf5859-d4a5-49c2-91b8-6fb6f5f4d4be"
      unitRef="usd">37786000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNC0zLTEtMS01NDY5Ng_913e750b-b9b2-473e-b0ee-63898045388e"
      unitRef="usd">48667000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNi0xLTEtMS01NDY5Ng_9eeee96f-1bee-4a71-a000-71d574a762cc"
      unitRef="usd">8552000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNi0zLTEtMS01NDY5Ng_af80e146-a2b7-4a02-a54b-9cfc19694618"
      unitRef="usd">9773000</us-gaap:AccountsReceivableNetCurrent>
    <cfms:RoyaltyReceivable
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNy0xLTEtMS01NDY5Ng_df485146-5406-43db-ba89-f7a6e6f2b948"
      unitRef="usd">120000</cfms:RoyaltyReceivable>
    <cfms:RoyaltyReceivable
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNy0zLTEtMS01NDY5Ng_9d279624-113e-43a6-9aa9-55eb74e3585b"
      unitRef="usd">134000</cfms:RoyaltyReceivable>
    <us-gaap:InventoryNet
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfOC0xLTEtMS01NDY5Ng_7ae754bc-5ca8-4250-8226-70563916e369"
      unitRef="usd">19490000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfOC0zLTEtMS01NDY5Ng_62ae401c-aef7-48bd-8505-7b636901abc4"
      unitRef="usd">18910000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfOS0xLTEtMS01NDY5Ng_3f8c50f3-0bf8-473d-bda4-e3627142d44d"
      unitRef="usd">1671000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfOS0zLTEtMS01NDY5Ng_059f097c-e1b0-4e79-9155-cba67c1f11ba"
      unitRef="usd">1785000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTAtMS0xLTEtNTQ2OTY_9d107c59-6ec7-44c7-8104-ca73bc6e4a7d"
      unitRef="usd">67619000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTAtMy0xLTEtNTQ2OTY_116041e4-3cba-431a-af47-16cb816a9a33"
      unitRef="usd">79269000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTEtMS0xLTEtNTQ2OTY_7ad4543d-6756-43d4-a172-432a5bda2688"
      unitRef="usd">8060000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTEtMy0xLTEtNTQ2OTY_36917d1b-6273-4e27-8fa8-aa78a77f6895"
      unitRef="usd">8154000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTItMS0xLTEtNTQ2OTY_c9928c95-9c13-4011-ba6a-f121f28fe2f3"
      unitRef="usd">5696000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTItMy0xLTEtNTQ2OTY_44875940-8823-44b8-83e9-a017401cbba3"
      unitRef="usd">6078000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTQtMS0xLTEtNTQ2OTY_9c4db82d-9c04-4f70-a3b8-c3d1c3906f52"
      unitRef="usd">462000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTQtMy0xLTEtNTQ2OTY_570aa119-b03b-4061-9d40-eea8bf3c9a0f"
      unitRef="usd">462000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTgtMS0xLTEtNTQ2OTY_e4ec53b3-5b75-47c1-bc81-ec7342b7110a"
      unitRef="usd">86000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTgtMy0xLTEtNTQ2OTY_566fd5e5-b80f-4d41-860f-134a0cfd8461"
      unitRef="usd">85000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTktMS0xLTEtNTQ2OTY_f60d760e-dc4d-415f-b962-c9049192bb63"
      unitRef="usd">81923000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMTktMy0xLTEtNTQ2OTY_bfb65cf9-6830-45f5-b2c6-e4dbcd61b185"
      unitRef="usd">94048000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMjMtMS0xLTEtNTQ2OTY_8ee1554f-8eb2-479b-b891-917524cab663"
      unitRef="usd">4164000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMjMtMy0xLTEtNTQ2OTY_11f7edea-25d2-4655-a6e5-f5e6560e7a21"
      unitRef="usd">4163000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMjQtMS0xLTEtNTQ2OTY_7605b2cb-341f-40a6-89b1-28ac2c99c8b2"
      unitRef="usd">5726000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMjQtMy0xLTEtNTQ2OTY_18f3ad3f-48cc-48d4-9713-a103892ac0e0"
      unitRef="usd">7978000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMjUtMS0xLTEtNTQ2OTY_5c807820-2e2a-4a42-9dfc-1da48842766e"
      unitRef="usd">1952000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMjUtMy0xLTEtNTQ2OTY_d177fd1f-681a-4929-bc58-6a819b393d19"
      unitRef="usd">1932000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzAtMS0xLTEtNTQ2OTY_919b1c7e-54eb-4b76-b962-e565115d645b"
      unitRef="usd">11842000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzAtMy0xLTEtNTQ2OTY_7d6e0012-c40f-44a2-a0c3-f2ced9320580"
      unitRef="usd">14073000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzEtMS0xLTEtNTQ2OTY_0543fdad-3963-4d33-961b-d0b10e3b69a7"
      unitRef="usd">283000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzEtMy0xLTEtNTQ2OTY_48a2eb95-9eb4-496a-8259-830e2035aa81"
      unitRef="usd">230000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzQtMS0xLTEtNTQ2OTY_bc83a5bc-682f-4013-b9ec-cc4dd7b868fc"
      unitRef="usd">20601000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzQtMy0xLTEtNTQ2OTY_c20c935b-d24b-494a-a475-5e59d8e39ad0"
      unitRef="usd">20563000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzUtMS0xLTEtNTQ2OTY_8b10358c-ddb2-49ee-ab35-09dc295d05af"
      unitRef="usd">4572000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzUtMy0xLTEtNTQ2OTY_2a73fc82-dd43-4b3a-89a9-7bb4cff1f0e6"
      unitRef="usd">5003000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzYtMS0xLTEtNTQ2OTY_16a14daf-1cd3-4700-a252-5b2a2b50a541"
      unitRef="usd">37298000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzYtMy0xLTEtNTQ2OTY_39860c31-5e3d-4594-940c-32bf9ef13243"
      unitRef="usd">39869000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzctMS0xLTEtNTQ2OTY_ec1df2e2-4d9a-4216-ab59-2fc44b77f406"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzctMy0xLTEtNTQ2OTY_6729b097-1efd-4a59-be33-57df802c612b"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzktMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjpjNDc3MTA4YzhiMmQ0MTg2OTI2MWE2ZTFhODAyY2RkZF8yMQ_4de46a50-701d-431f-a10b-aadc9caecfb2"
      unitRef="usdPerShare">0.00001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfMzktMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjpjNDc3MTA4YzhiMmQ0MTg2OTI2MWE2ZTFhODAyY2RkZF8yMQ_c8c39749-4852-4908-9425-69be3742a748"
      unitRef="usdPerShare">0.00001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjoyODBlNDcwMWEyOWE0NDMwODA4ZTNlODUwOGQ5OTNkZV8xNg_3705d2e0-9274-4cc9-ac98-4e0b0562fdf2"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjoyODBlNDcwMWEyOWE0NDMwODA4ZTNlODUwOGQ5OTNkZV8xNg_5559cd0f-4812-495b-9631-5b06b5c40780"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjoyODBlNDcwMWEyOWE0NDMwODA4ZTNlODUwOGQ5OTNkZV84Mg_726cd3cc-692c-4eb9-8ce0-5d3dd37eedef"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjoyODBlNDcwMWEyOWE0NDMwODA4ZTNlODUwOGQ5OTNkZV84Mg_8ec324f4-6fb0-41d4-9cae-fb7d47061426"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjoyODBlNDcwMWEyOWE0NDMwODA4ZTNlODUwOGQ5OTNkZV84Mg_d58916f4-9ac4-48fc-9290-819a1682ad3e"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjoyODBlNDcwMWEyOWE0NDMwODA4ZTNlODUwOGQ5OTNkZV84Mg_fe280267-9a7c-4933-9f4e-a7f1a8fac700"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMS0xLTEtNTQ2OTY_19d8b6a0-c565-4b33-9a19-c4a2233b33b5"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDAtMy0xLTEtNTQ2OTY_0d01164c-f200-4d25-a5c4-d0b01de34975"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDEtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjo3N2Q3YjIyOTBiOGU0MzgyOWY4NmJlYTYzNmUxNTdhY18xOA_05c05163-dcd0-4cb1-81c1-1492ddce1bad"
      unitRef="usdPerShare">0.00001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDEtMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjo3N2Q3YjIyOTBiOGU0MzgyOWY4NmJlYTYzNmUxNTdhY18xOA_7d4952e9-e52b-4794-a374-5c584621c832"
      unitRef="usdPerShare">0.00001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjplODA0MzQ2ZDQxNTA0NzA3OTM5YmE5YTE0MmJiNTY1ZV8xNg_a205a68d-8dbc-4729-9459-86ff54b519b8"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjplODA0MzQ2ZDQxNTA0NzA3OTM5YmE5YTE0MmJiNTY1ZV8xNg_e0568424-ad34-4c27-991c-fe171a8404ca"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjplODA0MzQ2ZDQxNTA0NzA3OTM5YmE5YTE0MmJiNTY1ZV84Mg_394ea727-2e73-44aa-a042-aba19275526f"
      unitRef="shares">7497138</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjplODA0MzQ2ZDQxNTA0NzA3OTM5YmE5YTE0MmJiNTY1ZV84Mg_48448770-fe09-48b6-a7f4-fee89f0b1ddb"
      unitRef="shares">7497138</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjplODA0MzQ2ZDQxNTA0NzA3OTM5YmE5YTE0MmJiNTY1ZV84OQ_838d3238-4cc8-4bc3-a453-172ef07828e1"
      unitRef="shares">7502462</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMC0xLTEtNTQ2OTYvdGV4dHJlZ2lvbjplODA0MzQ2ZDQxNTA0NzA3OTM5YmE5YTE0MmJiNTY1ZV84OQ_db6d6e3e-e419-4625-bb1c-0bbdc9605774"
      unitRef="shares">7502462</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMS0xLTEtNTQ2OTY_077269a0-b836-48e0-8adf-ba9ae525cc88"
      unitRef="usd">0</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDItMy0xLTEtNTQ2OTY_2ef1df76-148a-4aa7-b083-9f99108ab8da"
      unitRef="usd">0</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDMtMS0xLTEtNTQ2OTY_03a77f53-d97a-4938-85ea-d983666a7db0"
      unitRef="usd">635268000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDMtMy0xLTEtNTQ2OTY_6bb654e6-b273-4fe3-a63e-2a3a7967e6e1"
      unitRef="usd">634647000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDQtMS0xLTEtNTQ2OTY_4acfd63d-1dca-4a0b-b69e-71687cb52718"
      unitRef="usd">-590895000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDQtMy0xLTEtNTQ2OTY_2c31de4b-c251-4fe0-8343-068601830c62"
      unitRef="usd">-581324000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDUtMS0xLTEtNTQ2OTY_12865439-a1ed-422e-820c-20052428e964"
      unitRef="usd">252000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDUtMy0xLTEtNTQ2OTY_bbd63f9f-1021-45fd-bf84-df3a5513cd43"
      unitRef="usd">856000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDYtMS0xLTEtNTQ2OTY_bbd0913f-49b3-4774-8ed9-ccdb7a08e6e1"
      unitRef="usd">44625000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDYtMy0xLTEtNTQ2OTY_43a24a42-690b-4fe4-9b62-c15fc5fb3760"
      unitRef="usd">54179000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDctMS0xLTEtNTQ2OTY_e5bc2a83-f59f-4112-b425-37759174519c"
      unitRef="usd">81923000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xNi9mcmFnOmVlODkzYTY4NjMxMzQwOWI5YTJmZjhiNzJmZjk2NmQ5L3RhYmxlOjQ4M2FmYmM2MjAyYjQxOThhYTAwNDM3MWU0NGZlODY3L3RhYmxlcmFuZ2U6NDgzYWZiYzYyMDJiNDE5OGFhMDA0MzcxZTQ0ZmU4NjdfNDctMy0xLTEtNTQ2OTY_0a456552-af6c-4790-a509-f9c0f695504e"
      unitRef="usd">94048000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0942d5e63e4c4ee38768a022673c4ba7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMy0xLTEtMS01NDY5Ng_02794884-cb71-4b36-bfbf-6ae67370726a"
      unitRef="usd">12691000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i60ef259b6bf24acaa0dc0e5b02e8cb3b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMy0zLTEtMS01NDY5Ng_b7e29302-2859-475f-844d-3ff382bf74fe"
      unitRef="usd">14884000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i565173413ab44545942d93f39a4a5b62_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNC0xLTEtMS01NDY5Ng_0d55b852-5ae7-479c-b73e-5b5018efa9a7"
      unitRef="usd">146000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id01ba4cf87cd4cb38a25dc6b7acc5818_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNC0zLTEtMS01NDY5Ng_01d64581-4b8f-4c81-b8de-7dda9e282913"
      unitRef="usd">667000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNS0xLTEtMS01NDY5Ng_8f0c255c-5c12-4419-b2a2-a4329dc80270"
      unitRef="usd">12837000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNS0zLTEtMS01NDY5Ng_1b791529-446c-4459-9a9c-189c3b90e310"
      unitRef="usd">15551000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNi0xLTEtMS01NDY5Ng_45e62e0f-2a6e-42a9-a8a4-7cd9c7655553"
      unitRef="usd">7734000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNi0zLTEtMS01NDY5Ng_695c7e37-495f-41a4-85dc-3a735435a210"
      unitRef="usd">9810000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNy0xLTEtMS01NDY5Ng_8298d1f9-9be9-4ef9-a36b-57ecc14e813c"
      unitRef="usd">5103000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfNy0zLTEtMS01NDY5Ng_2a2a960a-ab7b-43be-9ed1-6991c8860b06"
      unitRef="usd">5741000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTAtMS0xLTEtNTQ2OTY_479ea498-063c-4940-b44b-bf0cf69edd10"
      unitRef="usd">5051000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTAtMy0xLTEtNTQ2OTY_e78701aa-3283-4280-9e21-ba3a64dd8403"
      unitRef="usd">6665000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTEtMS0xLTEtNTQ2OTY_1e77f8bb-eea1-40ba-b70d-8eb85e17c117"
      unitRef="usd">2458000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTEtMy0xLTEtNTQ2OTY_b128f886-fc25-4782-89cb-825f7b99b43a"
      unitRef="usd">4479000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTItMS0xLTEtNTQ2OTY_6b4ede25-cd69-45e8-b79c-3e72b7ca91a9"
      unitRef="usd">7023000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTItMy0xLTEtNTQ2OTY_2d56708b-41fe-4a67-9669-0f25772be655"
      unitRef="usd">9333000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTQtMS0xLTEtNTQ2OTY_bc42a648-dd27-4849-ada2-28c489d5e792"
      unitRef="usd">14532000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTQtMy0xLTEtNTQ2OTY_b8333852-4e23-4bd9-86bb-6a2c2c2234f1"
      unitRef="usd">20477000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTUtMS0xLTEtNTQ2OTY_b70034a0-db7a-4a32-931d-69916ceff706"
      unitRef="usd">-9429000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTUtMy0xLTEtNTQ2OTY_bed72b44-4d9d-4bd6-b898-aeb33bf99e76"
      unitRef="usd">-14736000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTgtMS0xLTEtNTQ2OTY_0b9e9273-373b-4b3f-979b-540459a36c35"
      unitRef="usd">9000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTgtMy0xLTEtNTQ2OTY_fc232f37-d40f-4e4f-ad27-ad1b6300e0cb"
      unitRef="usd">17000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTktMS0xLTEtNTQ2OTY_dbaaea0f-6b45-43f6-853f-e7c5cd3e9b2a"
      unitRef="usd">637000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMTktMy0xLTEtNTQ2OTY_f01d2118-5730-4f96-b82b-da4e55d7ad48"
      unitRef="usd">451000</us-gaap:InterestExpense>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjItMS0xLTEtNTQ2OTY_fcfb4228-d440-424f-87b6-a9dc4161dc5d"
      unitRef="usd">468000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjItMy0xLTEtNTQ2OTY_99b69a03-71ac-474f-bcec-61bcb50b0fd2"
      unitRef="usd">-827000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <cfms:NonoperatingIncomeExpenseNetOfInterestExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjMtMS0xLTEtNTQ2OTY_235a5b5e-ee56-499f-82fa-6eaecb8d0afc"
      unitRef="usd">-160000</cfms:NonoperatingIncomeExpenseNetOfInterestExpense>
    <cfms:NonoperatingIncomeExpenseNetOfInterestExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjMtMy0xLTEtNTQ2OTY_3eeac67f-a15c-44bc-a2cd-40b8ff1390e1"
      unitRef="usd">-1261000</cfms:NonoperatingIncomeExpenseNetOfInterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjQtMS0xLTEtNTQ2OTY_3634916e-e15e-45e2-a33a-66e2f6668a1a"
      unitRef="usd">-9589000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjQtMy0xLTEtNTQ2OTY_e0a58f7b-a368-41ed-a1ba-087fab3f20c2"
      unitRef="usd">-15997000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjUtMS0xLTEtNTQ2OTY_e92faa2b-1985-4ef7-a264-8368eb61ae61"
      unitRef="usd">-18000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjUtMy0xLTEtNTQ2OTY_17e5c538-49fa-4187-a386-f5da1c928568"
      unitRef="usd">34000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjctMS0xLTEtNTQ2OTY_595d34a5-fb88-4cd8-8936-8ce9864ade65"
      unitRef="usd">-9571000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMjctMy0xLTEtNTQ2OTY_4e6e0587-93b9-43eb-a22e-777b417f8218"
      unitRef="usd">-16031000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_3fcd71ec-a3e2-4e88-996f-0418b23101fb"
      unitRef="usdPerShare">-1.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_bca674a2-5689-4e9e-8f51-78de059f6db4"
      unitRef="usdPerShare">-1.32</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_27f5d8d0-f35c-41a3-9c46-d697f593eac2"
      unitRef="usdPerShare">-2.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_86d2cd7c-0f10-4485-bef5-29e7201bad5e"
      unitRef="usdPerShare">-2.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_0628aecf-1fb8-4502-b8fd-66156ccf2b8c"
      unitRef="shares">7253645</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_e802b4c9-ebf2-4adb-b703-47be12badb10"
      unitRef="shares">7253645</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_cabaebbd-9ad6-4ec6-bc48-4bf83e424f83"
      unitRef="shares">7167171</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_f17100ee-03b5-471e-9bc6-0ba63c4543cd"
      unitRef="shares">7167171</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yMi9mcmFnOjIzZTc1MDkxZmJlZjRlZGI5YTc0YmE5MDIxYjZkNDdiL3RhYmxlOmYzMjkyMmMzZDg1ODQyN2M4ZWEyOGZhN2ExOGE5MjhkL3RhYmxlcmFuZ2U6ZjMyOTIyYzNkODU4NDI3YzhlYTI4ZmE3YTE4YTkyOGRfMi0xLTEtMS01NDY5Ng_595d34a5-fb88-4cd8-8936-8ce9864ade65"
      unitRef="usd">-9571000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yMi9mcmFnOjIzZTc1MDkxZmJlZjRlZGI5YTc0YmE5MDIxYjZkNDdiL3RhYmxlOmYzMjkyMmMzZDg1ODQyN2M4ZWEyOGZhN2ExOGE5MjhkL3RhYmxlcmFuZ2U6ZjMyOTIyYzNkODU4NDI3YzhlYTI4ZmE3YTE4YTkyOGRfMi0zLTEtMS01NDY5Ng_4e6e0587-93b9-43eb-a22e-777b417f8218"
      unitRef="usd">-16031000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yMi9mcmFnOjIzZTc1MDkxZmJlZjRlZGI5YTc0YmE5MDIxYjZkNDdiL3RhYmxlOmYzMjkyMmMzZDg1ODQyN2M4ZWEyOGZhN2ExOGE5MjhkL3RhYmxlcmFuZ2U6ZjMyOTIyYzNkODU4NDI3YzhlYTI4ZmE3YTE4YTkyOGRfNC0xLTEtMS01NDY5Ng_7b723ccc-c35f-4ca2-9f26-2eab0946a087"
      unitRef="usd">-604000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yMi9mcmFnOjIzZTc1MDkxZmJlZjRlZGI5YTc0YmE5MDIxYjZkNDdiL3RhYmxlOmYzMjkyMmMzZDg1ODQyN2M4ZWEyOGZhN2ExOGE5MjhkL3RhYmxlcmFuZ2U6ZjMyOTIyYzNkODU4NDI3YzhlYTI4ZmE3YTE4YTkyOGRfNC0zLTEtMS01NDY5Ng_d48dd7e2-8739-469a-84db-fbf1df21c364"
      unitRef="usd">737000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yMi9mcmFnOjIzZTc1MDkxZmJlZjRlZGI5YTc0YmE5MDIxYjZkNDdiL3RhYmxlOmYzMjkyMmMzZDg1ODQyN2M4ZWEyOGZhN2ExOGE5MjhkL3RhYmxlcmFuZ2U6ZjMyOTIyYzNkODU4NDI3YzhlYTI4ZmE3YTE4YTkyOGRfNi0xLTEtMS01NDY5Ng_77af0ba0-1155-481a-ac83-030a8b850107"
      unitRef="usd">-10175000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yMi9mcmFnOjIzZTc1MDkxZmJlZjRlZGI5YTc0YmE5MDIxYjZkNDdiL3RhYmxlOmYzMjkyMmMzZDg1ODQyN2M4ZWEyOGZhN2ExOGE5MjhkL3RhYmxlcmFuZ2U6ZjMyOTIyYzNkODU4NDI3YzhlYTI4ZmE3YTE4YTkyOGRfNi0zLTEtMS01NDY5Ng_88fafdfd-b188-474e-9107-4037a4ef9075"
      unitRef="usd">-15294000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iecbe3ee9d9b04f36aa20e0771ca7aec9_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtMS0xLTEtNTQ2OTY_3676b9be-d5a5-41eb-9ca4-63ea78519efd"
      unitRef="shares">7502462</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iecbe3ee9d9b04f36aa20e0771ca7aec9_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtMy0xLTEtNTQ2OTY_697abb37-c495-40a6-a21a-930a0fed0b77"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if63234ebd1234322b7239da87166381e_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtNS0xLTEtNTQ2OTY_32539cc7-0d51-4fb7-9adf-9de68eae220d"
      unitRef="usd">634647000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i697adbef4d0947c1a6dc0175d1bc8890_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtNy0xLTEtNTQ2OTY_d09036d5-d6cb-422a-89b1-f2889ffb1e26"
      unitRef="usd">-581324000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i83aab01c96c444188441737fda42e5e7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtOS0xLTEtNTQ2OTY_f0245d02-891e-461b-8cd1-2d70ad842003"
      unitRef="usd">856000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtMTEtMS0xLTU0Njk2_21740609-3b89-4a49-a4d7-5d354367e165"
      unitRef="usd">54179000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="iaf5d009dcd624ae08d389079ff45536c_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTYtMS0xLTEtNTQ2OTY_9449d470-a547-4dca-98c3-d1c5b9a4f36a"
      unitRef="shares">5324</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1f742882b06e4af9b7564343d6d4d97a_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjMtNS0xLTEtNTQ2OTY_637b554b-093b-4b6d-acf8-2ca20c4fb94c"
      unitRef="usd">621000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjMtMTEtMS0xLTU0Njk2_7c7bddf0-7940-4dfa-b724-a3fbed4ad39f"
      unitRef="usd">621000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="i04f68a76c27842358a23f70ae9a71f3b_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjQtNy0xLTEtNTQ2OTY_f460fa0e-6aa0-4ca9-9e8f-a59174554fd3"
      unitRef="usd">-9571000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjQtMTEtMS0xLTU0Njk2_13a15aa4-86fa-4309-99a0-bfa24de9cda2"
      unitRef="usd">-9571000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ife836973ef09409182d5501ad007440c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjUtOS0xLTEtNTQ2OTY_14e32e16-083f-4f91-b0bc-c4d3953438d6"
      unitRef="usd">-604000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjUtMTEtMS0xLTU0Njk2_9a8dc37b-c987-453b-b59b-3cca64e4b296"
      unitRef="usd">-604000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i538df57162844339a4f22fe349651528_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtMS0xLTEtNTQ2OTY_13c28acd-f471-4bf2-89f4-9b8fea0f36fd"
      unitRef="shares">7497138</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i538df57162844339a4f22fe349651528_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtMy0xLTEtNTQ2OTY_3d87ce65-9ac4-492b-b16a-b0bb21f253a5"
      unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i951f855f28b242b882a214ac8e5d207f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtNS0xLTEtNTQ2OTY_501fa699-62cc-423d-b85a-f8901b30cca9"
      unitRef="usd">635268000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia08ff864ab7748ab992531ff41d0823f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtNy0xLTEtNTQ2OTY_3c8f14be-3068-4475-a424-42cae2585b43"
      unitRef="usd">-590895000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id25d20f74dae4e659d665676105f16ba_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtOS0xLTEtNTQ2OTY_2597fab7-e1eb-4725-8da9-d1a2093affa9"
      unitRef="usd">252000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtMTEtMS0xLTU0Njk2_390ae55b-f2a8-41e2-9ca2-904326320530"
      unitRef="usd">44625000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iea9557801e664227898b32892325ba96_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtMS0xLTEtNTQ2OTY_77796afe-3a92-4abb-9b96-e11da6e5f0f1"
      unitRef="shares">7441668</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="iea9557801e664227898b32892325ba96_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtMy0xLTEtNTQ2OTY_8ce418e4-dd35-43d7-bae8-410ea36e7397"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5f98e25fa98c4fa5894100a2abc8949b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtNS0xLTEtNTQ2OTY_acb8e427-f3ab-488a-82a3-9e1cc79fd982"
      unitRef="usd">632513000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i34caf855abc44145ad5cff3c11ebe236_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtNy0xLTEtNTQ2OTY_13c3ecfa-e900-4bbd-b84d-d0d77b98e86d"
      unitRef="usd">-530851000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8578b9fa2c24f7e98eff37d01b9fc10_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtOS0xLTEtNTQ2OTY_efe6a927-ce8c-4480-97db-f1247c2e5e47"
      unitRef="usd">-1112000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i309612b0a42b487ab4c3eac4cff4e73a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtMTEtMS0xLTU0Njk2_8db04c4e-0965-4d46-8f65-815a32d34742"
      unitRef="usd">100552000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="i17e034286edf4f40b8a2a360d5c05a9a_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTYtMS0xLTEtNTQ2OTY_49d721ba-23f6-4e11-bf00-074169ce57e6"
      unitRef="shares">28387</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i2ec6139eb34743d3b20a338760f69a61_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjMtNS0xLTEtNTQ2OTY_41ef1094-f316-4de7-a48a-83aa3d4189fe"
      unitRef="usd">736000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjMtMTEtMS0xLTU0Njk2_af55b3b2-12d9-4cba-ae74-008732da70ef"
      unitRef="usd">736000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="icca5ba97016d4e1d99712f2d4a35dcb2_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjQtNy0xLTEtNTQ2OTY_57d2dcc4-0b9c-4751-a40b-641b852dbd48"
      unitRef="usd">-16031000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjQtMTEtMS0xLTU0Njk2_bd894bf0-d32a-434a-b0e3-4de3203da536"
      unitRef="usd">-16031000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="ifee88a9e06d74a3bb8440c896e89ba6d_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjUtOS0xLTEtNTQ2OTY_afb5e017-3b7a-4958-9532-a6534317dd35"
      unitRef="usd">737000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjUtMTEtMS0xLTU0Njk2_729182eb-c42c-4b7c-b612-e3f2f0c16b99"
      unitRef="usd">737000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i7381b902438e4e299e3e52f9a845c1d0_I20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtMS0xLTEtNTQ2OTY_e6ecf7a3-45b5-43a3-80ef-81198fa8446d"
      unitRef="shares">7413281</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i7381b902438e4e299e3e52f9a845c1d0_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtMy0xLTEtNTQ2OTY_380befcb-47c2-4bfc-9fae-e28902216bbc"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i33df601d4cd94ae185a19241e043ada7_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtNS0xLTEtNTQ2OTY_687436fc-55d1-4dbc-a523-be1c12b56f97"
      unitRef="usd">633249000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="icf258ce366b54c8c9395613232f83a0b_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtNy0xLTEtNTQ2OTY_2c7214a6-9c54-4a54-9a55-84a6efe8f2a8"
      unitRef="usd">-546882000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i820f64332b534f8c92fe903541c9feec_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtOS0xLTEtNTQ2OTY_1b6295a4-a667-43d0-be9f-704300b25e7f"
      unitRef="usd">-375000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id18a0a4ca4244eceb5461bcf9fc69d7f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtMTEtMS0xLTU0Njk2_104b810e-88e5-44ae-96b4-99ec4b89ecfc"
      unitRef="usd">85994000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMy0xLTEtMS01NDY5Ng_bdd64082-9350-4c2b-bf8b-aad6c6e6eeb0"
      unitRef="usd">-9571000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMy0zLTEtMS01NDY5Ng_cb83ed54-0d2b-43d4-ba34-83ea7ebbdec1"
      unitRef="usd">-16031000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNi0xLTEtMS01NDY5Ng_5b42e4b5-bcd0-4178-adca-bb6fed5d0de8"
      unitRef="usd">921000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNi0zLTEtMS01NDY5Ng_d94d8c65-b592-4909-b0ec-1687a45043db"
      unitRef="usd">1107000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfOC0xLTEtMS01NDY5Ng_76190ca5-7e61-4560-b484-27b1a7132dae"
      unitRef="usd">621000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfOC0zLTEtMS01NDY5Ng_7a003eb2-d906-4907-a566-31eabba73c9e"
      unitRef="usd">736000</us-gaap:ShareBasedCompensation>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfOS0xLTEtMS01NDY5Ng_02b58dc4-ea94-4f78-8f7c-993efba67d91"
      unitRef="usd">476000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfOS0zLTEtMS01NDY5Ng_d708ab09-4de5-46b7-85bd-f95f1fd8e685"
      unitRef="usd">-783000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTAtMS0xLTEtNTQ2OTY_9fb3f403-9fd1-4fc4-b937-84a9e0c60ea1"
      unitRef="usd">381000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTAtMy0xLTEtNTQ2OTY_172ec88c-ae1c-41c3-8d6b-736e8bcd3244"
      unitRef="usd">367000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTEtMS0xLTEtNTQ2OTY_fda9c87e-22b9-4ed1-a3d8-17264d1ecd12"
      unitRef="usd">84000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTEtMy0xLTEtNTQ2OTY_a372e475-bbd0-4514-b4eb-ae315d960734"
      unitRef="usd">77000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTMtMS0xLTEtNTQ2OTY_a9a749ce-a662-427b-a0de-d0474d706e5a"
      unitRef="usd">80000</us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTMtMy0xLTEtNTQ2OTY_1c44dfaa-7b8f-4a3f-a636-7027f2b1d433"
      unitRef="usd">0</us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf>
    <us-gaap:PaidInKindInterest
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTYtMS0xLTEtNTQ2OTY_f28341f3-9b09-4ad9-899d-6c51a2e1dc6f"
      unitRef="usd">39000</us-gaap:PaidInKindInterest>
    <us-gaap:PaidInKindInterest
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMTYtMy0xLTEtNTQ2OTY_15edd5ce-45fe-4a5e-8bb3-e5d6cebcc14b"
      unitRef="usd">41000</us-gaap:PaidInKindInterest>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjEtMS0xLTEtNTQ2OTY_42339744-9315-496e-831b-30f789d00a82"
      unitRef="usd">-1137000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjEtMy0xLTEtNTQ2OTY_329a4a68-d93d-461b-8307-a5dca8da2b3a"
      unitRef="usd">1136000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <cfms:IncreaseDecreaseInRoyaltyReceivable
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjItMS0xLTEtNTQ2OTY_512f3bca-f0a9-429f-86d6-d983a4c659ac"
      unitRef="usd">-14000</cfms:IncreaseDecreaseInRoyaltyReceivable>
    <cfms:IncreaseDecreaseInRoyaltyReceivable
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjItMy0xLTEtNTQ2OTY_0d19ce13-4079-43c1-b1b2-12a0af530642"
      unitRef="usd">372000</cfms:IncreaseDecreaseInRoyaltyReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjMtMS0xLTEtNTQ2OTY_6f4e9995-7c01-4d61-8566-c32249631391"
      unitRef="usd">580000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjMtMy0xLTEtNTQ2OTY_b8c56ea8-b512-4ef9-bbe1-4a970179968d"
      unitRef="usd">447000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjQtMS0xLTEtNTQ2OTY_80a82a10-e40a-4f96-b1a9-82d84bd6cf8a"
      unitRef="usd">-113000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjQtMy0xLTEtNTQ2OTY_11f15eca-7c46-4cf4-8fa0-19071a098342"
      unitRef="usd">120000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjYtMS0xLTEtNTQ2OTY_ef6ec70e-b40f-40ab-b4dc-ba61742b85e1"
      unitRef="usd">-2610000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMjYtMy0xLTEtNTQ2OTY_46b6a7a2-88f1-42f7-a35c-9614255ec2c8"
      unitRef="usd">-2107000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMzEtMS0xLTEtNTQ2OTY_417ff9cc-f054-4832-9bfa-032be8fdbc9a"
      unitRef="usd">-9847000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMzEtMy0xLTEtNTQ2OTY_8eb3d945-a179-4119-a37e-dba33bfe8530"
      unitRef="usd">-17102000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMzQtMS0xLTEtNTQ2OTY_ff18c554-d317-4583-9d6b-a6a19450afe8"
      unitRef="usd">907000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMzQtMy0xLTEtNTQ2OTY_a32a4fec-ccfa-48ec-98d9-4a4c12ad81b5"
      unitRef="usd">692000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMzktMS0xLTEtNTQ2OTY_8fd2278f-105b-4767-a432-a7a0a1bc6a3e"
      unitRef="usd">-907000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfMzktMy0xLTEtNTQ2OTY_e6f18de6-2df1-4865-acda-1e7d4df375ba"
      unitRef="usd">-692000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTMtMS0xLTEtNTQ2OTY_01b92ab9-fff1-4691-ba86-6dae94ecfa05"
      unitRef="usd">0</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTMtMy0xLTEtNTQ2OTY_102f2e81-1be2-4c19-989b-ff3ac5e17135"
      unitRef="usd">0</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTQtMS0xLTEtNTQ2OTY_25b89abb-df41-453b-95e4-4bee663a9cc4"
      unitRef="usd">-127000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTQtMy0xLTEtNTQ2OTY_5677dfcc-e861-481b-ab85-12c4b4764bb3"
      unitRef="usd">-45000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTUtMS0xLTEtNTQ2OTY_bc49c6d0-aeac-4f91-a99f-7844801b846e"
      unitRef="usd">-10881000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTUtMy0xLTEtNTQ2OTY_ea32edc9-959b-4652-ba57-03f4a55d40ec"
      unitRef="usd">-17839000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTYtMS0xLTEtNTQ2OTY_01dd69d8-27df-4186-91e5-41faabc2ffbb"
      unitRef="usd">49129000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i309612b0a42b487ab4c3eac4cff4e73a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTYtMy0xLTEtNTQ2OTY_89062604-fcca-42bb-9c17-013c31891d08"
      unitRef="usd">101118000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTctMS0xLTEtNTQ2OTY_f2d436b6-6bd9-4303-ad50-930eef0e5e19"
      unitRef="usd">38248000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="id18a0a4ca4244eceb5461bcf9fc69d7f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNTctMy0xLTEtNTQ2OTY_d8c1d947-84a1-4944-ada8-af5b33437106"
      unitRef="usd">83279000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNjEtMS0xLTEtNTQ2OTY_807b251c-3365-4bcc-84c5-55c8aa0b330c"
      unitRef="usd">545000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNjEtMy0xLTEtNTQ2OTY_7cfbda77-18f4-40fb-93a9-75e0cd255143"
      unitRef="usd">356000</us-gaap:InterestPaidNet>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNjMtMS0xLTEtNTQ2OTY_7a2e1a21-8260-4c00-b554-1ea70dea2631"
      unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zMS9mcmFnOjVjM2NiNWY1NmZiMjRlMTRhYjYxMGEzMTMyNGYzNjAzL3RhYmxlOjM3ZTVhOGY4MWNmNTQzYTNiZjU3MTRjZGYyMDM0ODBiL3RhYmxlcmFuZ2U6MzdlNWE4ZjgxY2Y1NDNhM2JmNTcxNGNkZjIwMzQ4MGJfNjMtMy0xLTEtNTQ2OTY_b5b76d61-acef-4d85-a944-b0273aabd280"
      unitRef="usd">63000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfNzg1Mg_0efb7f11-7aaf-49c7-8a64-4048101a52b1">Organization and Basis of Presentation&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;Conformis, Inc. (together with its subsidiaries, collectively, the &#x201c;Company&#x201d;) is a medical technology company that uses its proprietary iFit Image-to-Implant technology platform to develop, manufacture and sell joint replacement implants that are individually sized and shaped, which the Company refers to as personalized, individualized, or sometimes as customized, to fit and conform to each patient&#x2019;s unique anatomy. The Company also offers Identity Imprint, a new line of total knee replacement products that utilizes a proprietary algorithm to select the implant size that most closely meets the geometric and anatomic requirements of the patient&#x2019;s knee. Conformis&#x2019; sterile, just-in-time, Surgery-in-a-Box delivery system is available with all of its implants and personalized, single-use instruments. The Company&#x2019;s proprietary iFit technology platform is potentially applicable to all major joints. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;The Company was incorporated in Delaware and commenced operations in 2004. The Company introduced its iUni and iDuo in 2007, its iTotal CR in 2011, its iTotal PS in 2015, its Conformis hip system in 2018, and its Identity Imprint in 2021. The Company has its corporate offices in Billerica, Massachusetts. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"&gt;Liquidity and operations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;These consolidated financial statements as of March&#160;31, 2023 and for the three months ended March&#160;31, 2023 and 2022, and related interim information contained within the notes to the Consolidated Financial Statements, have been prepared assuming that the Company will continue as a going concern, which contemplates the realization of assets and satisfaction of liabilities in the normal course of business. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;Since the Company&#x2019;s inception in June&#160;2004, it has financed its operations primarily through private placements of preferred stock, its initial public offering in July&#160;2015, other equity financings, debt and convertible debt financings, equipment purchase loans, patent licensing, and product revenue beginning in 2007. The Company has recurring losses for the three months ended March&#160;31, 2023 and 2022.  At March&#160;31, 2023, the Company had an accumulated deficit of $590.9 million and cash and cash equivalents of $37.8&#160;million, and $0.5&#160;million in restricted cash allocated to a lease deposit. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company currently expects that its existing cash and cash equivalents as of the date hereof and anticipated revenue from operations will enable the Company to fund its operations, capital expenditure requirements and debt service for the 12 months following the date of this filing. However, for the Company to meet its long-term operating plan, the Company expects that revenue growth, margin improvements and leveraging operating expenses will be necessary. To enhance its liquidity position, the Company has taken measures to manage its expenses, will continue to monetize the Company&#x2019;s intellectual property, and will evaluate additional equity or debt financing opportunities. Whether the Company ultimately consummates such an additional equity and/or debt financing will depend on many factors, including market conditions. It cannot be assured that the Company will be successful in raising such additional financing, or in achieving the revenue growth, margin improvements and operating expense leverage. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On October 26, 2022, the Company's Board of Directors approved a 1-for-25 reverse stock split of the Company&#x2019;s common stock&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;(the &#x201c;Reverse Stock Split&#x201d;) which was implemented in November 2022. All share and per share information has been retroactively adjusted to give effect to the Reverse Stock Split for all periods presented, unless otherwise indicated. There were no fractional shares issued as a result of the Reverse Split. All fractional shares as a result of the Reverse Split were rounded up to the nearest whole number. The total number of the Company&#x2019;s authorized shares of preferred stock was not affected by the foregoing. However, the total number of the Company's authorized common stock was decreased to 20,000,000 after giving effect to the Reverse Stock Split. For further information regarding this Reverse Stock Split, see "Note J&#x2014;Stockholders' Equity".&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On November 22, 2021, the Company and its subsidiary, ImaTx, Inc., entered into a Credit and Security Agreement (the &#x201c;New Credit Agreement&#x201d;) with MidCap Financial Trust (&#x201c;MidCap&#x201d;), as agent, and certain lender parties thereto. The New Credit Agreement provides for a five-year, $21&#160;million secured term loan facility (the &#x201c;Term Facility&#x201d;). The New Credit Agreement refinanced and replaced the Company&#x2019;s prior 2019 secured credit facility with Innovatus (the &#x201c;2019 Secured Loan Agreement&#x201d;). &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; The Company experienced significantly decreased demand for its products during the pandemic as healthcare providers and individuals de-prioritized and deferred medical procedures deemed to be elective, such as joint replacement procedures, which is expected to continue to have a significant negative effect on the Company's revenue. In the third and fourth quarters of 2021, the Company experienced higher levels of deferred and rescheduled knee and hip procedures as a result of the surge in COVID-19 cases associated with the Delta and Omicron variants. During the first quarter of 2022, United States case counts peaked in January and then trended downward for the remainder of the year.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The future progression of the pandemic remains uncertain. To the extent that individuals in these markets continue to de-prioritize or delay deferrable procedures as a result of the COVID-19 pandemic or otherwise, our business, cash flows, financial condition and results of operations could continue to be negatively affected.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of presentation and use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The preparation of consolidated financial statements in conformity with generally accepted accounting principles in the United States ("U.S. GAAP") 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 consolidated financial statements, and the reported amounts of revenue and expenses during the reporting periods. The most significant estimates used in these consolidated financial statements include revenue recognition, accounts receivable valuation, inventory reserves, impairment assessments, income tax reserves and related allowances, and the lives of property and equipment. Actual results may differ from those estimates.  The interim financial statements should be read in conjunction with the audited financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unaudited Interim Financial Information&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The accompanying Interim Consolidated Financial Statements as of March&#160;31, 2023 and for the three months ended March&#160;31, 2023 and 2022, and related interim information contained within the notes to the Consolidated Financial Statements are unaudited. These unaudited interim consolidated financial statements have been prepared in accordance with GAAP. In management&#x2019;s opinion, the unaudited interim consolidated financial statements have been prepared on the same basis as the audited financial statements and include all adjustments (including normal recurring adjustments) necessary for the fair presentation of the Company&#x2019;s financial position as of March&#160;31, 2023, results of operations for and stockholders' equity for the three months ended March&#160;31, 2023 and 2022, and comprehensive loss, and cash flows for the three months ended March&#160;31, 2023 and 2022. The results for the three months ended March&#160;31, 2023 are not necessarily indicative of the results expected for the full year or any interim period.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfMjA1Mw_04312316-98c4-443c-a1bb-17ecfdf6034f"
      unitRef="usd">-590900000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfMjA4OQ_656cb4f0-0afb-41d9-85a3-3c03f17ffe31"
      unitRef="usd">37800000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfMjA5Nw_9efacb0a-a0d0-48d0-a42d-6c1127f61795"
      unitRef="usd">500000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i215b99d1434d464db3221425af3c9a01_I20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfMjc0ODc3OTA4NDUyOQ_0ec3214c-6dec-431b-91ad-27e1ab971a65"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:DebtInstrumentTerm
      contextRef="ic0bf8e944892482abedcfc3a1060494e_D20211122-20211122"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfMTA5OTUxMTYzNTY0Nw_0456f288-7182-452d-96d0-ee530e91f134">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ia29c285dc04b44e3a504ab20c3577998_I20211122"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfMzQ0OQ_f5143f87-da45-49f4-bdd8-391a1b1cdb49"
      unitRef="usd">21000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:UseOfEstimates
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8zNy9mcmFnOjlkOTJmMzkzYzg0MDQxMTJiNzNlYWRlYzg1N2I4ZWVkL3RleHRyZWdpb246OWQ5MmYzOTNjODQwNDExMmI3M2VhZGVjODU3YjhlZWRfNzg1Mw_98024a2e-585a-4b32-9d9d-5a62da741ade">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of presentation and use of estimates&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The preparation of consolidated financial statements in conformity with generally accepted accounting principles in the United States ("U.S. GAAP") 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 consolidated financial statements, and the reported amounts of revenue and expenses during the reporting periods. The most significant estimates used in these consolidated financial statements include revenue recognition, accounts receivable valuation, inventory reserves, impairment assessments, income tax reserves and related allowances, and the lives of property and equipment. Actual results may differ from those estimates.  The interim financial statements should be read in conjunction with the audited financial statements and notes thereto included in the Company&#x2019;s Annual Report on Form 10-K for the year ended December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMzY_fb49258f-e341-4181-aa4d-208fb81aee7c">Summary of Significant Accounting Policies&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company's financial results are affected by the selection and application of accounting policies and methods. There were no material changes in the three months ended March&#160;31, 2023 to the application of significant accounting policies and estimates as described in its audited consolidated financial statements for the year ended December&#160;31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations of credit risk and other risks and uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Financial instruments that subject the Company to credit risk primarily consist of cash, cash equivalents, and accounts receivable. The Company maintains the majority of its cash with accredited financial institutions which mitigates potential risks related to concentration. The Company had $0.7 million as of March&#160;31, 2023 and $1.2 million as of December&#160;31, 2022 held in foreign bank accounts that are not federally insured. In addition, the cash held in U.S bank accounts exceeds the federally insured limits.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company and its contract manufacturers rely on sole source suppliers and service providers for certain components. A shortage or stoppage of shipments of the materials or components that the Company purchases could result in a delay in production or adversely affect the Company&#x2019;s operating results. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;For the three months ended March&#160;31, 2023, no customer represented greater than 10% of total revenue.  For the three months ended March&#160;31, 2022, no customer represented greater than 10% of total revenue.  As of  March&#160;31, 2023 and December&#160;31, 2022, respectively, there was no customer that represented greater than 10% of the total net receivable balance.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of consolidation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The consolidated financial statements include the accounts of the Company and its wholly owned subsidiaries including ImaTx, Inc., ConforMIS Europe GmbH, ConforMIS UK Limited, ConforMIS Hong Kong Limited, Conformis India LLP, and Conformis Cares LLC. All intercompany balances and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash, cash equivalents and restricted cash&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company considers all highly liquid investment instruments with original maturities of 90&#160;days or less when purchased to be cash equivalents. The Company&#x2019;s cash equivalents consist of demand deposits and money market accounts. Demand deposits and money market accounts are carried at cost which approximates their fair value. The Company has recorded restricted cash of $0.5 million as of March&#160;31, 2023 and December&#160;31, 2022.  Restricted cash consisted of security provided for lease obligations. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets that sum to the total of the same such amounts shown in the consolidated statements of cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.931%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash, cash equivalents, and restricted cash shown in the statement of cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair value of financial instruments&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Certain of the Company&#x2019;s financial instruments, including cash and cash equivalents (excluding money market funds), accounts receivable, accounts payable, accrued expenses and other liabilities are carried at cost, which approximates their fair value because of the short-term maturity. The carrying value of the debt approximates fair value because the interest rate under the obligation approximates market rates of interest available to the Company for similar instruments.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts receivable and allowance for credit losses&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Accounts receivable consist of billed and unbilled amounts due from medical facilities or independent distributors (the "Customer"). Upon completion of a procedure, revenue is recognized and an unbilled receivable is recorded. Under Accounting Standards Codification ("ASC") Topic 606, Revenue from Contracts with Customers ("ASC 606"), an enforceable contract is met either at or prior to the procedure being performed. Upon receipt of a purchase order from the Customer, the billed receivable is recorded and the unbilled receivable is reversed. As a result, the unbilled receivable balance fluctuates based on the timing of the Company's receipt of purchase orders from the medical facilities. In estimating whether accounts receivable can be collected, the Company performs evaluations of customers and continuously monitors collections and payments and estimates an allowance for credit losses based on the aging of the underlying invoices, collections experience to date and any specific collection issues that have been identified. The allowance for credit losses is recorded in the period in which revenue is recorded or when collection risk is identified.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Inventories consist of raw materials, work-in-process components and finished goods. Inventories are stated at the lower of cost, determined using the first-in first-out method, or net realizable value. The Company regularly reviews its inventory quantities on hand and related cost and records a provision for any excess or obsolete inventory based on its estimated forecast of product demand and existing product configurations. The Company also reviews its inventory value to determine if it reflects the lower of cost or market, based on net realizable value. Appropriate consideration is given to inventory items sold at negative gross margin, purchase commitments and other factors in evaluating net realizable value.  During the three months ended March&#160;31, 2023, the Company recognized provisions of $0.3 million and $1.6 million, respectively, to adjust its inventory value to the lower of cost or net realizable value for excess and obsolete reserves, and estimated unused product related to known and potential cancelled cases, which is included in cost of revenue.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and equipment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Property and equipment is stated at cost less accumulated depreciation and is depreciated using the straight-line method over the estimated useful lives of the respective assets. Leasehold improvements are amortized over their useful life or the life of the lease, whichever is shorter. Assets capitalized under capital leases are amortized in accordance with the respective class of assets and the amortization is included with depreciation expense. Maintenance and repair costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-lived assets&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company tests impairment of long-lived assets when events or changes in circumstances indicate that the assets might be impaired. If changes in circumstances lead the Company to believe that any of its long-lived assets may be impaired, the Company will test the asset group for recoverability, by evaluating whether the estimated undiscounted cash flows, including estimated residual value, generated from the asset group are sufficient to support the carrying value of the assets. During the quarter ended March&#160;31, 2023, the Company had experienced a significant decrease in its stock price and incurred current-period operating losses associated with its asset group, and as such, an assessment for recoverability was performed. During the three months ended March&#160;31, 2023, the Company recognized $0.1&#160;million in impairment charges related to unused manufacturing equipment and building improvements.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has elected not to separate non-lease components from all classes of leases. Non-lease components have been accounted for as part of the single lease component to which they are related. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Leases with an anticipated term, inclusive of renewals of 12 months or less are not recorded on the balance sheet; the Company recognizes lease expense for these leases on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has elected the hindsight practical expedient to determine the lease term for existing leases. This practical expedient enables an entity to use hindsight in determining the lease term when considering options to extend and terminate leases as well as purchase the underlying assets. The operating lease right-of-use assets are subsequently assessed for impairment in accordance with the Company's accounting policy for long-lived assets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Product Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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;). 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 March&#160;31, 2023.  Payment is typically due between 30 and 60 days from invoice.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;To the extent that the transaction price includes variable consideration, such as prompt-pay discounts or rebates, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value to which the Company expects to be entitled.  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.  Actual amounts of consideration ultimately received may differ from the Company's estimates.  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. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;If the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. Contracts that contain multiple performance obligations require an allocation of the transaction price 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 observable prices or a cost-plus margin approach when one is not available.  Revenue is recognized at the time the related performance obligation is satisfied by transferring control of a promised good or service to a customer.   The Company's performance obligations are satisfied at the same time, typically upon surgery, therefore, product revenue is recognized at a point in time upon completion of the surgery. Since the Company does not have contracts that extend beyond a duration of one year, there is no transaction price related to performance obligations that have not been satisfied.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Certain customer contracts include terms that allow the Company to bill for orders that are cancelled after the product is manufactured and could result in revenue recognition over time.  However, the impact of adopting over time revenue recognition was deemed immaterial. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the long-term Distribution Agreement with Stryker, the Company supplies patient specific instrumentation to Stryker and revenue is recognized at a point in time, that is, when Stryker obtains control of the products.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;Unconditional rights to consideration are reported as receivables.  Incidental items that are immaterial in the context of the contract are recognized as expense. The Company records a contract liability when there is an obligation to transfer goods or services to a customer for which the Company has received consideration from the customer. As of January 1, 2023, the contract liability balance was $0.2&#160;million. There was no contract liability balance recorded as of January 1, 2022. At March 31, 2023, the Company had $0.7&#160;million of contract liabilities recorded on the Consolidated Balance Sheets derived from contracts with customers. There were no contract assets recorded at March 31, 2023. The Company did not have any contract assets or liabilities recorded at March 31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Royalty and Licensing Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company receives ongoing sales-based royalties under its license agreement (the "MicroPort License Agreement") with MicroPort Orthopedics Inc., a wholly owned subsidiary of MicroPort Scientific Corporation, (collectively, "MicroPort").  Royalty revenue is recorded at the expected value of the royalty revenue. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 9, 2023, the Company entered into a Settlement and License Agreement with Bodycad Laboratories, Inc. ("Bodycad") and Exactech, Inc. ("Exactech"), collectively, (the "Defendants"), pursuant to which the parties have agreed to terms for resolving all of their existing patent disputes. In consideration of the licenses, releases, covenants and other immunities granted by the Company to the Defendants, the Company received an upfront payment following the execution of the Settlement and License Agreement, and will receive an additional payment by June 30, 2023. The agreement provides for the grant of the licenses, covenants-not-to-sue, releases, and other significant deliverables upon receipt of full payment from. These individual rights are not accounted for as separate performance obligations as (i) the nature of the promise, within the context of the agreement, is to transfer combined items to which the promised rights are inputs and (ii) the Company's promise to transfer each individual right described above to the Defendants is not separately identifiable from other promises in the agreement. As a result, the Company accounts for the promises in the agreement as a single performance obligation. The Defendants will legally obtain control of the licenses and other rights upon full payment to Conformis. As such, the earnings process will be completed and revenue will be recognized upon receipt of the full payment, and all other revenue recognition criteria had been met within the scope of ASC 606. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 8, 2021, the Company entered into a license agreement (the &#x201c;License Agreement&#x201d;) with Paragon 28, Inc. ("Paragon 28"), granting Paragon 28 a non-exclusive license under a subset of the Company's U.S. patents for the use of patient-specific instruments with off-the-shelf implants in Paragon 28&#x2019;s APEX 3D Total Ankle Replacement System. In consideration for the license, the Company received $0.5&#160;million upon execution of the License Agreement, another $0.5&#160;million in October 2021, and received an additional $0.5&#160;million from Paragon 28 on April 7, 2022. In connection with this License Agreement, the Company recognized revenue of $1.0&#160;million during the quarter ended June 30, 2021. The remaining $0.5&#160;million was recognized as revenue during the quarter ended March 31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 8, 2022 the Company entered into a Settlement and License Agreement with Medacta USA, ("Medacta"), pursuant to which both parties have agreed to terms for resolving all of their existing patent disputes. In consideration of the licenses, releases, covenants and other immunities granted by the Company to Medacta, Medacta was required to pay the Company a fee promptly after execution of the Settlement and License Agreement, which was received in full on December 12, 2022. The agreement provides for the grant of the licenses, covenants-not-to-sue, releases, and other significant deliverables upon receipt of the payment from Medacta. These individual rights are not accounted for as separate performance obligations as (i) the nature of the promise, within the context of the agreement, is to transfer combined items to which the promised rights are inputs and (ii) the Company's promise to transfer each individual right described above to Medacta is not separately identifiable from other promises in the agreement. As a result, the Company accounts for the promises in the agreement as a single performance obligation. Medacta legally obtained control of the license and other rights upon payment to Conformis. As such, the earnings process is complete and revenue was recognized upon receipt of the payment, and all other revenue recognition criteria had been met within the scope of ASC 606. In connection with the Settlement and License Agreement, the Company recognized licensing revenue during the year ended December 31, 2022. See &#x201c;Note H&#x2014;Commitments and Contingencies, Legal proceedings&#x201d; for further discussion of the Medacta settlement.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Disaggregation of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See "Note K&#x2014;Segment and Geographic Data" for disaggregated product revenue by geography and product category.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Variable Consideration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Revenues from product sales are recorded at the net sales price (transaction price), which includes estimates of variable consideration for which reserves are established and which result from rebates that are offered within contracts between the Company and some of its customers.  The amount of variable consideration which is included in the transaction price may be constrained, and is included in the net sales price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The following table summarizes activity for rebate allowance reserve (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.710%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Provision related to current period sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Payments or credits issued to customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(97)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs to Obtain and Fulfill a Contract&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company currently expenses commissions paid for obtaining product sales. Sales commissions are paid following the manufacture and implementation of the implant. Due to the period being less than one year, the Company will apply the practical expedient, whereby 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 sales and marketing expense. Further, the Company incurs costs to buy, build, replenish, restock, sterilize and replace the reusable instrumentation trays associated with the sale of its products and services.  The reusable instrument trays are not contract specific and are used for multiple contracts and customers, therefore does not meet the criteria to capitalize under ASC 606. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Shipping and handling costs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Shipping and handling activities prior to the transfer of control to the customer (e.g., when control transfers after delivery) are considered fulfillment activities, and not performance obligations.  Amounts invoiced to customers for shipping and handling are classified as revenue. Shipping and handling costs incurred are included in general and administrative expense. Shipping and handling expense was $1.1 million and $1.4 million for the three months ended March&#160;31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Taxes collected from customers and remitted to government authorities&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company&#x2019;s policy is to present taxes collected from customers and remitted to government authorities on a net basis and not to include tax amounts in revenue.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and development expense&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company&#x2019;s research and development costs consist of engineering, product development, quality assurance, clinical and regulatory expense. These costs primarily relate to employee compensation, including salary, benefits and stock-based compensation. The Company also incurs costs related to consulting fees, revenue share, materials and supplies, and marketing studies, including data management and associated travel expense. Research and development costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Advertising expense&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Advertising costs are expensed as incurred, which are included in sales and marketing. Advertising expense was $0.3 million and $0.1 million for the three months ended March&#160;31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment reporting&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Operating segments are defined as components of an enterprise about which separate financial information is available and is evaluated on a regular basis by the chief operating decision-maker, or decision-making group, in deciding how to allocate resources to an individual segment and in assessing performance of the segment. The Company&#x2019;s chief operating decision-maker is its chief executive officer. The Company&#x2019;s chief executive officer reviews financial information presented on an aggregate basis for purposes of allocating resources and evaluating financial performance. The Company has one business segment and there are no segment managers who are held accountable for operations, operating results and plans for products or components below the aggregate Company level. Accordingly, in light of the Company&#x2019;s current product offerings, management has determined that the primary form of internal reporting is aligned with the offering of the Conformis personalized joint replacement products and that the Company operates as one segment. See &#x201c;Note K&#x2014;Segment and Geographic Data.&#x201d;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign currency translation and transactions&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The assets and liabilities of the Company&#x2019;s foreign operations are translated into U.S. dollars at current exchange rates at the balance sheet date, and income and expense items are translated at average rates of exchange prevailing during the quarter. Net translation gains and losses are recorded in accumulated other comprehensive loss.  Gains and losses from foreign currency transactions denominated in foreign currencies, including intercompany balances not of a long-term investment nature, are included in the Consolidated Statements of Operations.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial statement carrying amounts of existing assets and liabilities and their respective tax bases, operating losses and tax credit carry forwards.  Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized as income in the period that includes the enactment date.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;In evaluating the need for a valuation allowance, the Company considers all reasonably available positive and negative evidence, including recent earnings, expectations of future taxable income and the character of that income.  In estimating future taxable income, the Company relies upon assumptions and estimates of future activity including the reversal of temporary differences. Presently, the Company believes that a full valuation allowance is required to reduce deferred tax assets to the amount expected to be realized.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The tax benefit from an uncertain tax position is only recognized if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from these positions are measured based on the largest benefit that has a greater than fifty percent likelihood of being realized upon ultimate resolution.  The Company reviews its tax positions on an annual basis and more frequently as facts surrounding tax positions change. Based on these future events, the Company may recognize uncertain tax positions or reverse current uncertain tax positions, the impact of which would affect the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has operations in the U.S., Germany, the United Kingdom, and India.  The operating results of German operations will be permanently reinvested in that jurisdiction.  As a result, the Company has only provided for income taxes at local rates when required. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;The Company is subject to U.S. federal, state, and foreign income taxes.  The Company recorded a provision for income taxes of $18,000 and $34,000 for the three months ended March&#160;31, 2023 and 2022, respectively. The Company recognizes interest and penalties related to income taxes as a component of income tax expense.  As of March&#160;31, 2023 and 2022, a cumulative balance of $6,000 and $79,000 of interest and penalties had been accrued, respectively. Please note that as result of the conclusion of a 2017 - 2019 Germany tax audit, the Company has reversed the respective uncertain tax positions for those years, resulting in a reduction of interest and penalties, as they now apply to only tax years 2020 - 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Inflation Reduction Act (IRA) was enacted on August 16, 2022. Based on review of the IRA, the Company does not expect any impact to its tax provision. In particular, the Company does not expect to pay Corporate Alternative Minimum Tax (CAMT) in future years based on its projected losses and not reaching the income thresholds. The IRA introduces a 15% CAMT for corporations whose average annual adjusted financial statement income  for any consecutive three-tax-year period preceding the tax year exceeds $1 billion starting in 2023. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company accounts for stock-based compensation in accordance with ASC 718, Stock Based Compensation ("ASC 718").&#160; ASC 718 requires all stock-based payments to employees and consultants, including grants of stock options, to be recognized in the consolidated statements of operations based on their fair values. The Company uses the Black-Scholes option pricing model to determine the weighted-average fair value of options granted and recognizes the compensation expense of stock-based awards on a straight-line basis over the vesting period of the award.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The determination of the fair value of stock-based payment awards utilizing the Black-Scholes option pricing model is affected by the stock price, exercise price, and a number of assumptions, including expected volatility of the stock, expected life of the option, risk-free interest rate and expected dividends on the stock. The Company evaluates the assumptions used to value the awards at each grant date and if factors change and different assumptions are utilized, stock-based compensation expense may differ significantly from what has been recorded in the past. If there are any modifications or cancellations of the underlying unvested securities, the Company may be required to accelerate, increase or cancel any remaining unearned stock-based compensation expense.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net loss per share&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company calculates net loss per share in accordance with ASC 260, "Earnings per Share." Basic earnings per share (&#x201c;EPS&#x201d;) is calculated by dividing the net income or loss for the period by the weighted average number of common shares outstanding for the period, without consideration for common stock equivalents. Diluted EPS is computed by dividing the net income or loss for the period by the weighted average number of common shares outstanding for the period and the weighted average number of dilutive common stock equivalents outstanding for the period determined using the treasury stock method.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The following table sets forth the computation of basic and diluted earnings per share attributable to stockholders (in thousands, except share and per share data): &lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.670%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.269%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.271%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands,&#160;except&#160;share&#160;and&#160;per&#160;share&#160;data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted loss per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,571)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,031)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted weighted average shares*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,253,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,167,171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss per share attributable to Conformis, Inc. stockholders:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.24)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt; *&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The following table sets forth potential shares of common stock equivalents that are not included in the calculation of diluted net loss per share because to do so would be anti-dilutive as of the end of each period presented:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options and restricted stock awards*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt; *&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Standards&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, &#x201c;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#x201d; which modifies the measurement approach for credit losses on financial assets measured on an amortized cost basis from an 'incurred loss' method to an 'expected loss' method. In November 2019, the FASB issued ASU 2019-11, &#x201c;Codification Improvements to Topic 326, Financial Instruments &#x2013; Credit Losses.&#x201d; ASU 2019-11 is an accounting pronouncement that amends ASU 2016-13. The ASU 2019-11 amendment provides clarity and improves the codification to ASU 2016-13. The Company adopted these ASUs as of January 1, 2023. The adoption of these ASUs has not had a material impact on the Company's consolidated financial statements or related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <cfms:ConcentrationRiskPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyNzA_1db94802-7a29-4a23-82da-2a8278518cc9">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations of credit risk and other risks and uncertainties&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Financial instruments that subject the Company to credit risk primarily consist of cash, cash equivalents, and accounts receivable. The Company maintains the majority of its cash with accredited financial institutions which mitigates potential risks related to concentration. The Company had $0.7 million as of March&#160;31, 2023 and $1.2 million as of December&#160;31, 2022 held in foreign bank accounts that are not federally insured. In addition, the cash held in U.S bank accounts exceeds the federally insured limits.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&#160;&#160;&#160;&#160;The Company and its contract manufacturers rely on sole source suppliers and service providers for certain components. A shortage or stoppage of shipments of the materials or components that the Company purchases could result in a delay in production or adversely affect the Company&#x2019;s operating results.</cfms:ConcentrationRiskPolicyTextBlock>
    <cfms:CashAndCashEquivalentsHeldInForeignBankAccounts
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfNzQ0_f3d56047-2f82-43c9-ba7f-f70d51fb6842"
      unitRef="usd">700000</cfms:CashAndCashEquivalentsHeldInForeignBankAccounts>
    <cfms:CashAndCashEquivalentsHeldInForeignBankAccounts
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfNzYw_fd4ec0d6-e0e6-4da2-a892-6d98e28a77e9"
      unitRef="usd">1200000</cfms:CashAndCashEquivalentsHeldInForeignBankAccounts>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMjE_4ce75973-509f-40df-ac65-f88dd1ea6a8b">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Principles of consolidation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The consolidated financial statements include the accounts of the Company and its wholly owned subsidiaries including ImaTx, Inc., ConforMIS Europe GmbH, ConforMIS UK Limited, ConforMIS Hong Kong Limited, Conformis India LLP, and Conformis Cares LLC. All intercompany balances and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMjM_522345fb-2fa5-4a44-85ae-6a5086b50e46">Cash, cash equivalents and restricted cash&#160;&#160;&#160;&#160;&#160;The Company considers all highly liquid investment instruments with original maturities of 90&#160;days or less when purchased to be cash equivalents. The Company&#x2019;s cash equivalents consist of demand deposits and money market accounts. Demand deposits and money market accounts are carried at cost which approximates their fair value.</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjYyMA_8d5f33ac-55e3-4701-aa7d-c6b5c9b44d76"
      unitRef="usd">500000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjYyMA_b71b51e6-b1b8-40c8-b218-dedab27b8d85"
      unitRef="usd">500000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMDM_8c781aa2-9d53-469a-b096-fb49b9f66834">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets that sum to the total of the same such amounts shown in the consolidated statements of cash flows.&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.931%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash, cash equivalents, and restricted cash shown in the statement of cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMDM_bae64c49-3464-4cc0-9c3c-b32eeb601868">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets that sum to the total of the same such amounts shown in the consolidated statements of cash flows.&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.517%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.931%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash, cash equivalents, and restricted cash shown in the statement of cash flows&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOmU3YzJhMjkyYzI1NjQxYTlhODFlYmYwMDJhMmI0OTkwL3RhYmxlcmFuZ2U6ZTdjMmEyOTJjMjU2NDFhOWE4MWViZjAwMmEyYjQ5OTBfMS0xLTEtMS01NDY5Ng_bdbf5859-d4a5-49c2-91b8-6fb6f5f4d4be"
      unitRef="usd">37786000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOmU3YzJhMjkyYzI1NjQxYTlhODFlYmYwMDJhMmI0OTkwL3RhYmxlcmFuZ2U6ZTdjMmEyOTJjMjU2NDFhOWE4MWViZjAwMmEyYjQ5OTBfMS0zLTEtMS01NDY5Ng_fa008462-5d00-4548-a798-db6388455a91"
      unitRef="usd">48667000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOmU3YzJhMjkyYzI1NjQxYTlhODFlYmYwMDJhMmI0OTkwL3RhYmxlcmFuZ2U6ZTdjMmEyOTJjMjU2NDFhOWE4MWViZjAwMmEyYjQ5OTBfMi0xLTEtMS01NDY5Ng_048e78f8-e3ff-448a-898e-1d51e30dca20"
      unitRef="usd">462000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOmU3YzJhMjkyYzI1NjQxYTlhODFlYmYwMDJhMmI0OTkwL3RhYmxlcmFuZ2U6ZTdjMmEyOTJjMjU2NDFhOWE4MWViZjAwMmEyYjQ5OTBfMi0zLTEtMS01NDY5Ng_6934bcd7-a47c-47a5-8123-e58b6d165abe"
      unitRef="usd">462000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOmU3YzJhMjkyYzI1NjQxYTlhODFlYmYwMDJhMmI0OTkwL3RhYmxlcmFuZ2U6ZTdjMmEyOTJjMjU2NDFhOWE4MWViZjAwMmEyYjQ5OTBfMy0xLTEtMS01NDY5Ng_318d3841-6b29-490d-b9a8-880167982414"
      unitRef="usd">38248000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOmU3YzJhMjkyYzI1NjQxYTlhODFlYmYwMDJhMmI0OTkwL3RhYmxlcmFuZ2U6ZTdjMmEyOTJjMjU2NDFhOWE4MWViZjAwMmEyYjQ5OTBfMy0zLTEtMS01NDY5Ng_c73bd95c-ce82-495b-9612-10f2265ba4d8"
      unitRef="usd">49129000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMjQ_1d965d20-f2be-4b77-8208-82b7ca5c24be">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair value of financial instruments&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Certain of the Company&#x2019;s financial instruments, including cash and cash equivalents (excluding money market funds), accounts receivable, accounts payable, accrued expenses and other liabilities are carried at cost, which approximates their fair value because of the short-term maturity. The carrying value of the debt approximates fair value because the interest rate under the obligation approximates market rates of interest available to the Company for similar instruments.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyNzE_fde7a41f-54a0-4a01-a996-be855294b3f7">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts receivable and allowance for credit losses&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Accounts receivable consist of billed and unbilled amounts due from medical facilities or independent distributors (the "Customer"). Upon completion of a procedure, revenue is recognized and an unbilled receivable is recorded. Under Accounting Standards Codification ("ASC") Topic 606, Revenue from Contracts with Customers ("ASC 606"), an enforceable contract is met either at or prior to the procedure being performed. Upon receipt of a purchase order from the Customer, the billed receivable is recorded and the unbilled receivable is reversed. As a result, the unbilled receivable balance fluctuates based on the timing of the Company's receipt of purchase orders from the medical facilities. In estimating whether accounts receivable can be collected, the Company performs evaluations of customers and continuously monitors collections and payments and estimates an allowance for credit losses based on the aging of the underlying invoices, collections experience to date and any specific collection issues that have been identified. The allowance for credit losses is recorded in the period in which revenue is recorded or when collection risk is identified.&lt;/span&gt;&lt;/div&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMTQ_b486dd91-0c84-4484-a565-4114561f05e7">Inventories&#160;&#160;&#160;&#160;&#160;Inventories consist of raw materials, work-in-process components and finished goods. Inventories are stated at the lower of cost, determined using the first-in first-out method, or net realizable value. The Company regularly reviews its inventory quantities on hand and related cost and records a provision for any excess or obsolete inventory based on its estimated forecast of product demand and existing product configurations. The Company also reviews its inventory value to determine if it reflects the lower of cost or market, based on net realizable value. Appropriate consideration is given to inventory items sold at negative gross margin, purchase commitments and other factors in evaluating net realizable value.</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:InventoryAdjustments
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfNTUzNA_95772217-8f17-4557-a312-f7bf80a6ceaa"
      unitRef="usd">300000</us-gaap:InventoryAdjustments>
    <us-gaap:InventoryAdjustments
      contextRef="id18a0a4ca4244eceb5461bcf9fc69d7f_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfNTQ5NzU1ODQ1Mjc0_baa81e90-5dc2-4657-baf6-897a5a32e888"
      unitRef="usd">1600000</us-gaap:InventoryAdjustments>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyNjU_1e3971fa-400e-4872-857d-7ebb9007cf0a">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and equipment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Property and equipment is stated at cost less accumulated depreciation and is depreciated using the straight-line method over the estimated useful lives of the respective assets. Leasehold improvements are amortized over their useful life or the life of the lease, whichever is shorter. Assets capitalized under capital leases are amortized in accordance with the respective class of assets and the amortization is included with depreciation expense. Maintenance and repair costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMzE_2c7eef95-cd96-44ae-850a-cc1979bb3580">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-lived assets&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company tests impairment of long-lived assets when events or changes in circumstances indicate that the assets might be impaired. If changes in circumstances lead the Company to believe that any of its long-lived assets may be impaired, the Company will test the asset group for recoverability, by evaluating whether the estimated undiscounted cash flows, including estimated residual value, generated from the asset group are sufficient to support the carrying value of the assets. During the quarter ended March&#160;31, 2023, the Company had experienced a significant decrease in its stock price and incurred current-period operating losses associated with its asset group, and as such, an assessment for recoverability was performed. During the three months ended March&#160;31, 2023, the Company recognized $0.1&#160;million in impairment charges related to unused manufacturing equipment and building improvements.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfNTQ5NzU1ODY1OTM4_5f054d00-dd99-45d0-a7fa-a513b7c958dc"
      unitRef="usd">100000</us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMzI_cd0e28fc-ecda-4eb6-85d7-4a6e3fa48108">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has elected not to separate non-lease components from all classes of leases. Non-lease components have been accounted for as part of the single lease component to which they are related. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Leases with an anticipated term, inclusive of renewals of 12 months or less are not recorded on the balance sheet; the Company recognizes lease expense for these leases on a straight-line basis over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has elected the hindsight practical expedient to determine the lease term for existing leases. This practical expedient enables an entity to use hindsight in determining the lease term when considering options to extend and terminate leases as well as purchase the underlying assets. The operating lease right-of-use assets are subsequently assessed for impairment in accordance with the Company's accounting policy for long-lived assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyNzk_2bd530da-fe49-49fe-9fd4-437ab9d49b6f">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Product Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&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;). 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 March&#160;31, 2023.  Payment is typically due between 30 and 60 days from invoice.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;To the extent that the transaction price includes variable consideration, such as prompt-pay discounts or rebates, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing the expected value to which the Company expects to be entitled.  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.  Actual amounts of consideration ultimately received may differ from the Company's estimates.  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. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;If the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. Contracts that contain multiple performance obligations require an allocation of the transaction price 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 observable prices or a cost-plus margin approach when one is not available.  Revenue is recognized at the time the related performance obligation is satisfied by transferring control of a promised good or service to a customer.   The Company's performance obligations are satisfied at the same time, typically upon surgery, therefore, product revenue is recognized at a point in time upon completion of the surgery. Since the Company does not have contracts that extend beyond a duration of one year, there is no transaction price related to performance obligations that have not been satisfied.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Certain customer contracts include terms that allow the Company to bill for orders that are cancelled after the product is manufactured and could result in revenue recognition over time.  However, the impact of adopting over time revenue recognition was deemed immaterial. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the long-term Distribution Agreement with Stryker, the Company supplies patient specific instrumentation to Stryker and revenue is recognized at a point in time, that is, when Stryker obtains control of the products.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;Unconditional rights to consideration are reported as receivables.  Incidental items that are immaterial in the context of the contract are recognized as expense. The Company records a contract liability when there is an obligation to transfer goods or services to a customer for which the Company has received consideration from the customer. As of January 1, 2023, the contract liability balance was $0.2&#160;million. There was no contract liability balance recorded as of January 1, 2022. At March 31, 2023, the Company had $0.7&#160;million of contract liabilities recorded on the Consolidated Balance Sheets derived from contracts with customers. There were no contract assets recorded at March 31, 2023. The Company did not have any contract assets or liabilities recorded at March 31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Royalty and Licensing Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company receives ongoing sales-based royalties under its license agreement (the "MicroPort License Agreement") with MicroPort Orthopedics Inc., a wholly owned subsidiary of MicroPort Scientific Corporation, (collectively, "MicroPort").  Royalty revenue is recorded at the expected value of the royalty revenue. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 9, 2023, the Company entered into a Settlement and License Agreement with Bodycad Laboratories, Inc. ("Bodycad") and Exactech, Inc. ("Exactech"), collectively, (the "Defendants"), pursuant to which the parties have agreed to terms for resolving all of their existing patent disputes. In consideration of the licenses, releases, covenants and other immunities granted by the Company to the Defendants, the Company received an upfront payment following the execution of the Settlement and License Agreement, and will receive an additional payment by June 30, 2023. The agreement provides for the grant of the licenses, covenants-not-to-sue, releases, and other significant deliverables upon receipt of full payment from. These individual rights are not accounted for as separate performance obligations as (i) the nature of the promise, within the context of the agreement, is to transfer combined items to which the promised rights are inputs and (ii) the Company's promise to transfer each individual right described above to the Defendants is not separately identifiable from other promises in the agreement. As a result, the Company accounts for the promises in the agreement as a single performance obligation. The Defendants will legally obtain control of the licenses and other rights upon full payment to Conformis. As such, the earnings process will be completed and revenue will be recognized upon receipt of the full payment, and all other revenue recognition criteria had been met within the scope of ASC 606. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 8, 2021, the Company entered into a license agreement (the &#x201c;License Agreement&#x201d;) with Paragon 28, Inc. ("Paragon 28"), granting Paragon 28 a non-exclusive license under a subset of the Company's U.S. patents for the use of patient-specific instruments with off-the-shelf implants in Paragon 28&#x2019;s APEX 3D Total Ankle Replacement System. In consideration for the license, the Company received $0.5&#160;million upon execution of the License Agreement, another $0.5&#160;million in October 2021, and received an additional $0.5&#160;million from Paragon 28 on April 7, 2022. In connection with this License Agreement, the Company recognized revenue of $1.0&#160;million during the quarter ended June 30, 2021. The remaining $0.5&#160;million was recognized as revenue during the quarter ended March 31, 2022. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 8, 2022 the Company entered into a Settlement and License Agreement with Medacta USA, ("Medacta"), pursuant to which both parties have agreed to terms for resolving all of their existing patent disputes. In consideration of the licenses, releases, covenants and other immunities granted by the Company to Medacta, Medacta was required to pay the Company a fee promptly after execution of the Settlement and License Agreement, which was received in full on December 12, 2022. The agreement provides for the grant of the licenses, covenants-not-to-sue, releases, and other significant deliverables upon receipt of the payment from Medacta. These individual rights are not accounted for as separate performance obligations as (i) the nature of the promise, within the context of the agreement, is to transfer combined items to which the promised rights are inputs and (ii) the Company's promise to transfer each individual right described above to Medacta is not separately identifiable from other promises in the agreement. As a result, the Company accounts for the promises in the agreement as a single performance obligation. Medacta legally obtained control of the license and other rights upon payment to Conformis. As such, the earnings process is complete and revenue was recognized upon receipt of the payment, and all other revenue recognition criteria had been met within the scope of ASC 606. In connection with the Settlement and License Agreement, the Company recognized licensing revenue during the year ended December 31, 2022. See &#x201c;Note H&#x2014;Commitments and Contingencies, Legal proceedings&#x201d; for further discussion of the Medacta settlement.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Disaggregation of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See "Note K&#x2014;Segment and Geographic Data" for disaggregated product revenue by geography and product category.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Variable Consideration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Revenues from product sales are recorded at the net sales price (transaction price), which includes estimates of variable consideration for which reserves are established and which result from rebates that are offered within contracts between the Company and some of its customers.  The amount of variable consideration which is included in the transaction price may be constrained, and is included in the net sales price only to the extent that it is probable that a significant reversal in the amount of the cumulative revenue recognized will not occur in a future period.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The following table summarizes activity for rebate allowance reserve (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.710%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Provision related to current period sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Payments or credits issued to customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(97)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Costs to Obtain and Fulfill a Contract&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company currently expenses commissions paid for obtaining product sales. Sales commissions are paid following the manufacture and implementation of the implant. Due to the period being less than one year, the Company will apply the practical expedient, whereby 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 sales and marketing expense. Further, the Company incurs costs to buy, build, replenish, restock, sterilize and replace the reusable instrumentation trays associated with the sale of its products and services.  The reusable instrument trays are not contract specific and are used for multiple contracts and customers, therefore does not meet the criteria to capitalize under ASC 606. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Shipping and handling costs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Shipping and handling activities prior to the transfer of control to the customer (e.g., when control transfers after delivery) are considered fulfillment activities, and not performance obligations.  Amounts invoiced to customers for shipping and handling are classified as revenue. Shipping and handling costs incurred are included in general and administrative expense. Shipping and handling expense was $1.1 million and $1.4 million for the three months ended March&#160;31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Taxes collected from customers and remitted to government authorities&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company&#x2019;s policy is to present taxes collected from customers and remitted to government authorities on a net basis and not to include tax amounts in revenue.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <cfms:ContractwithCustomerPaymentPeriod
      contextRef="i8cbb182ad04b4bc887c29c4c259b7770_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfOTM1Ng_fcd22d3c-2364-4386-8c82-6cbab6740a07">P30D</cfms:ContractwithCustomerPaymentPeriod>
    <cfms:ContractwithCustomerPaymentPeriod
      contextRef="ia9f111bbc52b45228a5d25a4a18fcd9e_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfOTM2Mw_574cbceb-a15f-4a40-b63f-d1ca031210d9">P60D</cfms:ContractwithCustomerPaymentPeriod>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i9e1e4f5fe47e497280255d30dcaa4904_I20230101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTM2Mg_d50f0b34-6b90-4b62-ac5a-7f56613e66c5"
      unitRef="usd">200000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i0ad14d80446845e49b08db5dcc6ea280_I20220101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTQwNg_14f41990-5f27-43e2-a279-42dc069b916a"
      unitRef="usd">0</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTM3Ng_e6fc149e-161f-4d1d-9a37-d0978448c40d"
      unitRef="usd">700000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerAssetPurchase
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTM5OA_0c297a34-5109-4f1c-9589-b8bd06e56133"
      unitRef="usd">0</us-gaap:ContractWithCustomerAssetPurchase>
    <us-gaap:ContractWithCustomerAssetPurchase
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTM4OQ_0d924317-f5c8-46c5-a2c9-bd8706fce79c"
      unitRef="usd">0</us-gaap:ContractWithCustomerAssetPurchase>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="id18a0a4ca4244eceb5461bcf9fc69d7f_I20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTM4OQ_a62216e9-485e-45fc-995a-906d34e67863"
      unitRef="usd">0</us-gaap:ContractWithCustomerLiabilityCurrent>
    <cfms:LicenseAgreementMilestonePayment
      contextRef="i1180499265324a26a46e240ab780c2a1_D20210408-20210408"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTU1Njg_00c9d6bc-4796-45b9-8042-06ce7b659c5f"
      unitRef="usd">500000</cfms:LicenseAgreementMilestonePayment>
    <cfms:LicenseAgreementMilestonePayment
      contextRef="ibc465dfa64d64596aecea20d6ad134c0_D20211001-20211031"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTU2MjA_f67bd2a2-bcc2-4f1a-b57c-c7b6e5b485d9"
      unitRef="usd">500000</cfms:LicenseAgreementMilestonePayment>
    <cfms:LicenseAgreementPotentialMilestonePayment
      contextRef="i88ad3df1a4174cd09bbbb785ff6ca523_D20220407-20220407"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTU2Njc_9c9a3dc1-b982-424d-b1b9-c9e23e662b4e"
      unitRef="usd">500000</cfms:LicenseAgreementPotentialMilestonePayment>
    <cfms:LicenseAgreementRoyaltyAndLicenseRevenue
      contextRef="i15ec3314ab0543988c7b3d945689276e_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTU3ODE_e44c3e8e-5c9f-4861-8470-94524428ef8d"
      unitRef="usd">1000000</cfms:LicenseAgreementRoyaltyAndLicenseRevenue>
    <cfms:LicenseAgreementRoyaltyAndLicenseRevenue
      contextRef="i95a24cd118de46ce9533544ac43724ec_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTU4Mzg_6e23241d-9cb8-45b8-81f3-e7b8c659ad0b"
      unitRef="usd">500000</cfms:LicenseAgreementRoyaltyAndLicenseRevenue>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMzM_fc4c0008-09b9-49ca-ae75-8a004a45a534">The following table summarizes activity for rebate allowance reserve (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.762%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.710%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Beginning Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;79&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Provision related to current period sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;66&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Payments or credits issued to customers&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(97)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Ending Balance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfMS0yLTEtMS01NDY5Ng_44367703-8a0d-456b-ba14-c819021cd980"
      unitRef="usd">108000</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="i309612b0a42b487ab4c3eac4cff4e73a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfMS00LTEtMS01NDY5Ng_88c27fe7-add0-43b2-a6e8-7369a34ef699"
      unitRef="usd">79000</us-gaap:ContractWithCustomerRefundLiability>
    <cfms:ContractWithCustomerLiabilityNewContractAdditions
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfMi0yLTEtMS01NDY5Ng_4926feee-6860-44b4-84b0-4b622563d2c6"
      unitRef="usd">66000</cfms:ContractWithCustomerLiabilityNewContractAdditions>
    <cfms:ContractWithCustomerLiabilityNewContractAdditions
      contextRef="ic5d81f1f110a453aa615c60a6cd4af98_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfMi00LTEtMS01NDY5Ng_708fdf4a-6170-4ce3-be76-4c57d174f51b"
      unitRef="usd">126000</cfms:ContractWithCustomerLiabilityNewContractAdditions>
    <cfms:ContractWithCustomerRefundLiabilityPaymentsOrCreditsIssued
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfNC0yLTEtMS01NDY5Ng_f2fd2b0a-6d70-4044-9b2d-4275dcfb965b"
      unitRef="usd">66000</cfms:ContractWithCustomerRefundLiabilityPaymentsOrCreditsIssued>
    <cfms:ContractWithCustomerRefundLiabilityPaymentsOrCreditsIssued
      contextRef="ic5d81f1f110a453aa615c60a6cd4af98_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfNC00LTEtMS01NDY5Ng_a4a484da-d063-4c69-9583-ab23626d81f7"
      unitRef="usd">97000</cfms:ContractWithCustomerRefundLiabilityPaymentsOrCreditsIssued>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfNS0yLTEtMS01NDY5Ng_f79ae527-5670-47b5-afa8-a43f796185dd"
      unitRef="usd">108000</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:ContractWithCustomerRefundLiability
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjBjMWEyMjFkYTgwNjRkOTg4MjcxNWU3ZWRiMTM0NjIyL3RhYmxlcmFuZ2U6MGMxYTIyMWRhODA2NGQ5ODgyNzE1ZTdlZGIxMzQ2MjJfNS00LTEtMS01NDY5Ng_9807911a-78ec-4e65-8194-bf45e0d3ca87"
      unitRef="usd">108000</us-gaap:ContractWithCustomerRefundLiability>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6068fafb782f4f92a72bef047ddbc94d_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTk4NzQ_54a2c997-5125-4e56-b244-890110316cc2"
      unitRef="usd">1100000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ic43fc85911aa4f179f25673a11e151cc_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMTk4ODE_6d513022-9319-47d8-9822-74cc671a6a78"
      unitRef="usd">1400000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzNTY_22e372f1-7c06-4f9b-8771-b0b9996587a7">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and development expense&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company&#x2019;s research and development costs consist of engineering, product development, quality assurance, clinical and regulatory expense. These costs primarily relate to employee compensation, including salary, benefits and stock-based compensation. The Company also incurs costs related to consulting fees, revenue share, materials and supplies, and marketing studies, including data management and associated travel expense. Research and development costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMTU_188a754f-cbcd-47cd-9956-3002254d42eb">Advertising expense&#160;&#160;&#160;&#160;&#160;Advertising costs are expensed as incurred, which are included in sales and marketing.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfNTQ5NzU1ODQ2MTA2_80dd82cf-a116-42a6-9029-54bb022e60e6"
      unitRef="usd">300000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjA4OTQ_a4164e99-d9d3-4807-82c0-01268b366b66"
      unitRef="usd">100000</us-gaap:AdvertisingExpense>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzNDc_3e9e30a6-82d3-42e5-aa6e-35f758c57b19">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment reporting&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Operating segments are defined as components of an enterprise about which separate financial information is available and is evaluated on a regular basis by the chief operating decision-maker, or decision-making group, in deciding how to allocate resources to an individual segment and in assessing performance of the segment. The Company&#x2019;s chief operating decision-maker is its chief executive officer. The Company&#x2019;s chief executive officer reviews financial information presented on an aggregate basis for purposes of allocating resources and evaluating financial performance. The Company has one business segment and there are no segment managers who are held accountable for operations, operating results and plans for products or components below the aggregate Company level. Accordingly, in light of the Company&#x2019;s current product offerings, management has determined that the primary form of internal reporting is aligned with the offering of the Conformis personalized joint replacement products and that the Company operates as one segment. See &#x201c;Note K&#x2014;Segment and Geographic Data.&#x201d;&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjc0ODc3OTExOTQ0NA_2f3e5998-c5d0-40be-a870-857fee467677"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjIwNjU_4bedf9a9-0ce2-4efa-950e-f96974df9287"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMjg_5e79e012-1565-425f-b937-1844764334d3">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Foreign currency translation and transactions&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The assets and liabilities of the Company&#x2019;s foreign operations are translated into U.S. dollars at current exchange rates at the balance sheet date, and income and expense items are translated at average rates of exchange prevailing during the quarter. Net translation gains and losses are recorded in accumulated other comprehensive loss.  Gains and losses from foreign currency transactions denominated in foreign currencies, including intercompany balances not of a long-term investment nature, are included in the Consolidated Statements of Operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMjU_c2dd6425-4d1f-4ec9-a9e2-1ab0d2e6a7d8">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income taxes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the consolidated financial statement carrying amounts of existing assets and liabilities and their respective tax bases, operating losses and tax credit carry forwards.  Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to be recovered or settled. The effect on deferred tax assets and liabilities of a change in tax rates is recognized as income in the period that includes the enactment date.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;In evaluating the need for a valuation allowance, the Company considers all reasonably available positive and negative evidence, including recent earnings, expectations of future taxable income and the character of that income.  In estimating future taxable income, the Company relies upon assumptions and estimates of future activity including the reversal of temporary differences. Presently, the Company believes that a full valuation allowance is required to reduce deferred tax assets to the amount expected to be realized.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The tax benefit from an uncertain tax position is only recognized if it is more likely than not that the tax position will be sustained on examination by the taxing authorities, based on the technical merits of the position. The tax benefits recognized in the consolidated financial statements from these positions are measured based on the largest benefit that has a greater than fifty percent likelihood of being realized upon ultimate resolution.  The Company reviews its tax positions on an annual basis and more frequently as facts surrounding tax positions change. Based on these future events, the Company may recognize uncertain tax positions or reverse current uncertain tax positions, the impact of which would affect the consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has operations in the U.S., Germany, the United Kingdom, and India.  The operating results of German operations will be permanently reinvested in that jurisdiction.  As a result, the Company has only provided for income taxes at local rates when required. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;The Company is subject to U.S. federal, state, and foreign income taxes.  The Company recorded a provision for income taxes of $18,000 and $34,000 for the three months ended March&#160;31, 2023 and 2022, respectively. The Company recognizes interest and penalties related to income taxes as a component of income tax expense.  As of March&#160;31, 2023 and 2022, a cumulative balance of $6,000 and $79,000 of interest and penalties had been accrued, respectively. Please note that as result of the conclusion of a 2017 - 2019 Germany tax audit, the Company has reversed the respective uncertain tax positions for those years, resulting in a reduction of interest and penalties, as they now apply to only tax years 2020 - 2022.&lt;/span&gt;&lt;/div&gt;The Inflation Reduction Act (IRA) was enacted on August 16, 2022. Based on review of the IRA, the Company does not expect any impact to its tax provision. In particular, the Company does not expect to pay Corporate Alternative Minimum Tax (CAMT) in future years based on its projected losses and not reaching the income thresholds. The IRA introduces a 15% CAMT for corporations whose average annual adjusted financial statement income  for any consecutive three-tax-year period preceding the tax year exceeds $1 billion starting in 2023.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjUxMjE_7663f607-b088-41b1-89a8-40255ee953d9"
      unitRef="usd">18000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjUxMjg_ac1c7996-c47d-41ec-a969-c7414003ff6c"
      unitRef="usd">34000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjUzOTY_0e2cf628-c264-48da-9f5d-ce1ebfaad2db"
      unitRef="usd">6000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="id18a0a4ca4244eceb5461bcf9fc69d7f_I20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMjU0MDM_4ea82abb-7880-478d-82b2-a2cb705c6b99"
      unitRef="usd">79000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzNDA_dd5d32ff-c8e8-4fdf-abee-195beed65601">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company accounts for stock-based compensation in accordance with ASC 718, Stock Based Compensation ("ASC 718").&#160; ASC 718 requires all stock-based payments to employees and consultants, including grants of stock options, to be recognized in the consolidated statements of operations based on their fair values. The Company uses the Black-Scholes option pricing model to determine the weighted-average fair value of options granted and recognizes the compensation expense of stock-based awards on a straight-line basis over the vesting period of the award.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&#160;&#160;&#160;&#160;The determination of the fair value of stock-based payment awards utilizing the Black-Scholes option pricing model is affected by the stock price, exercise price, and a number of assumptions, including expected volatility of the stock, expected life of the option, risk-free interest rate and expected dividends on the stock. The Company evaluates the assumptions used to value the awards at each grant date and if factors change and different assumptions are utilized, stock-based compensation expense may differ significantly from what has been recorded in the past. If there are any modifications or cancellations of the underlying unvested securities, the Company may be required to accelerate, increase or cancel any remaining unearned stock-based compensation expense.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyOTE_08a85c67-5827-48b6-86be-053a6f8d2222">&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net loss per share&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;The Company calculates net loss per share in accordance with ASC 260, "Earnings per Share." Basic earnings per share (&#x201c;EPS&#x201d;) is calculated by dividing the net income or loss for the period by the weighted average number of common shares outstanding for the period, without consideration for common stock equivalents. Diluted EPS is computed by dividing the net income or loss for the period by the weighted average number of common shares outstanding for the period and the weighted average number of dilutive common stock equivalents outstanding for the period determined using the treasury stock method.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyNzQ_c20efead-185e-4df9-b15b-4351c627c91d">The following table sets forth the computation of basic and diluted earnings per share attributable to stockholders (in thousands, except share and per share data): &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.670%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.269%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.271%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in&#160;thousands,&#160;except&#160;share&#160;and&#160;per&#160;share&#160;data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted loss per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,571)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,031)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted weighted average shares*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,253,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,167,171&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss per share attributable to Conformis, Inc. stockholders:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic and diluted*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1.32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2.24)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt; *&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNC0yLTEtMS01NDY5Ng_2b10be45-1993-4875-9d51-b181057e43f4"
      unitRef="usd">-9571000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNC0yLTEtMS01NDY5Ng_389fa339-5882-4185-8ddf-0c2ffaf7fc02"
      unitRef="usd">-9571000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNC00LTEtMS01NDY5Ng_6a95b457-8f6f-4bb8-baab-934ecdf87fc5"
      unitRef="usd">-16031000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNC00LTEtMS01NDY5Ng_bf72ede8-09fe-4eb9-af66-d51359b77620"
      unitRef="usd">-16031000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNy0yLTEtMS01NDY5Ng_8854b7ae-20bc-4040-9068-bffdf7b37612"
      unitRef="shares">7253645</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNy0yLTEtMS01NDY5Ng_90b4e0e7-35fe-48bc-bd99-5fc65ae85e2a"
      unitRef="shares">7253645</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNy00LTEtMS01NDY5Ng_3f6bd69c-8d9c-4aa9-b2e8-85b992b6f955"
      unitRef="shares">7167171</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfNy00LTEtMS01NDY5Ng_e0c950a0-6acc-42f0-bb0e-e7a43897970c"
      unitRef="shares">7167171</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfMTAtMi0xLTEtNTQ2OTY_80b31cec-3814-4b21-934c-2dfac9d3559d"
      unitRef="usdPerShare">-1.32</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfMTAtMi0xLTEtNTQ2OTY_c57e0852-68d9-4fdf-b0ef-a1a700777948"
      unitRef="usdPerShare">-1.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfMTAtNC0xLTEtNTQ2OTY_03dd3bd0-da40-47f1-9fd1-802810b7bc66"
      unitRef="usdPerShare">-2.24</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjg3YmVkMDBkNTA3MTRiYWFiZWI1ODkzNjI2OGU0Y2ZmL3RhYmxlcmFuZ2U6ODdiZWQwMGQ1MDcxNGJhYWJlYjU4OTM2MjY4ZTRjZmZfMTAtNC0xLTEtNTQ2OTY_576ccca4-3066-4d69-8910-dcf5354b5feb"
      unitRef="usdPerShare">-2.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAzMDI_22bad887-5af1-420c-aa51-b3c2ce7f9142">The following table sets forth potential shares of common stock equivalents that are not included in the calculation of diluted net loss per share because to do so would be anti-dilutive as of the end of each period presented:&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.999%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options and restricted stock awards*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt; *&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i80407371990c40ca8cf41dbdf35d28ab_D20230101-20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjk1YmJkOTQxMmVmYTQ2OGE4NmQzYzJhZjE0OGNlZjA0L3RhYmxlcmFuZ2U6OTViYmQ5NDEyZWZhNDY4YTg2ZDNjMmFmMTQ4Y2VmMDRfMTMtMi0xLTEtNTQ2OTY_d723ac90-f91e-4fbf-babc-c93c558fdb23"
      unitRef="shares">933</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i38fcac73e8654b0fae0c6afe7c2fc07a_D20220101-20220331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RhYmxlOjk1YmJkOTQxMmVmYTQ2OGE4NmQzYzJhZjE0OGNlZjA0L3RhYmxlcmFuZ2U6OTViYmQ5NDEyZWZhNDY4YTg2ZDNjMmFmMTQ4Y2VmMDRfMTMtNC0xLTEtNTQ2OTY_db71d08e-0aa4-4ff8-b8d8-37c75e5b79c7"
      unitRef="shares">27401</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF80My9mcmFnOjFkNzk0Nzg3ZTNlZTQ3ZWQ5Nzg1ZDFmMTQ4NDQ4ZjJiL3RleHRyZWdpb246MWQ3OTQ3ODdlM2VlNDdlZDk3ODVkMWYxNDg0NDhmMmJfMzAyNjM_de83c587-3eb7-4bc0-b782-112a4faf5623">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Standards&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13, &#x201c;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,&#x201d; which modifies the measurement approach for credit losses on financial assets measured on an amortized cost basis from an 'incurred loss' method to an 'expected loss' method. In November 2019, the FASB issued ASU 2019-11, &#x201c;Codification Improvements to Topic 326, Financial Instruments &#x2013; Credit Losses.&#x201d; ASU 2019-11 is an accounting pronouncement that amends ASU 2016-13. The ASU 2019-11 amendment provides clarity and improves the codification to ASU 2016-13. The Company adopted these ASUs as of January 1, 2023. The adoption of these ASUs has not had a material impact on the Company's consolidated financial statements or related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfNjcy_2a274599-9f1d-437a-9888-14d9224ff472">Accounts Receivable&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Accounts receivable consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.620%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.466%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(697)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(610)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The beginning accounts receivable balance as of January 1, 2023 and 2022, was $9.8&#160;million and $9.1&#160;million, respectively. All activity within accounts receivables relate to normal operational activity from the period. Accounts receivable included unbilled receivable of $1.2 million and $1.4 million at March&#160;31, 2023 and December&#160;31, 2022, respectively.  Write-offs related to accounts receivable were approximately $0 and $13,000 for the three months ended March&#160;31, 2023 and 2022, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Summary of allowance for credit losses and returns activity was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.879%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.043%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.045%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(257)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for expected credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable write offs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfNjY4_49314f8e-c9c0-4127-b453-6fbbae254be0">Accounts receivable consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.620%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.466%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total receivables&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(697)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(610)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;Summary of allowance for credit losses and returns activity was as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.879%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.043%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.045%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(257)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for expected credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(83)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(396)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other allowances&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable write offs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(610)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmNlMTZjMGUzNWU3ZjRiODI4NWExOTI1YTgyZjBhZTdmL3RhYmxlcmFuZ2U6Y2UxNmMwZTM1ZTdmNGI4Mjg1YTE5MjVhODJmMGFlN2ZfMS0xLTEtMS01NDY5Ng_cf171060-4c70-4fe4-9565-b5606c765282"
      unitRef="usd">9249000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmNlMTZjMGUzNWU3ZjRiODI4NWExOTI1YTgyZjBhZTdmL3RhYmxlcmFuZ2U6Y2UxNmMwZTM1ZTdmNGI4Mjg1YTE5MjVhODJmMGFlN2ZfMS0zLTEtMS01NDY5Ng_02c206df-0c35-48ed-9dcb-801aad214179"
      unitRef="usd">10383000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmNlMTZjMGUzNWU3ZjRiODI4NWExOTI1YTgyZjBhZTdmL3RhYmxlcmFuZ2U6Y2UxNmMwZTM1ZTdmNGI4Mjg1YTE5MjVhODJmMGFlN2ZfMi0xLTEtMS01NDY5Ng_0a0ebc69-477d-4e0e-bc72-e6f68789fadf"
      unitRef="usd">697000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmNlMTZjMGUzNWU3ZjRiODI4NWExOTI1YTgyZjBhZTdmL3RhYmxlcmFuZ2U6Y2UxNmMwZTM1ZTdmNGI4Mjg1YTE5MjVhODJmMGFlN2ZfMi0zLTEtMS01NDY5Ng_4cd60537-9dcc-4bc9-9dd5-aed9abc59d6a"
      unitRef="usd">610000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmNlMTZjMGUzNWU3ZjRiODI4NWExOTI1YTgyZjBhZTdmL3RhYmxlcmFuZ2U6Y2UxNmMwZTM1ZTdmNGI4Mjg1YTE5MjVhODJmMGFlN2ZfMy0xLTEtMS01NDY5Ng_d574f404-b6f4-430e-81c9-1f04c942af19"
      unitRef="usd">8552000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmNlMTZjMGUzNWU3ZjRiODI4NWExOTI1YTgyZjBhZTdmL3RhYmxlcmFuZ2U6Y2UxNmMwZTM1ZTdmNGI4Mjg1YTE5MjVhODJmMGFlN2ZfMy0zLTEtMS01NDY5Ng_46b08020-a30a-428e-9e24-c8017b58f2ff"
      unitRef="usd">9773000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfMTgy_c3c9d821-624a-44cd-b9cc-d5b6f167d298"
      unitRef="usd">9800000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i309612b0a42b487ab4c3eac4cff4e73a_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfMTg5_aff3e32c-1b06-4698-9cc1-d7daef6e2a05"
      unitRef="usd">9100000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledContractsReceivable
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfMzU1_c26fe0a8-31ab-4f2a-bd5d-9adeab938f5e"
      unitRef="usd">1200000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:UnbilledContractsReceivable
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfMzYy_1d2a8965-8119-44e1-addc-f882f62081b8"
      unitRef="usd">1400000</us-gaap:UnbilledContractsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfNDU1_93572d2a-7fb2-4cbe-b9e5-b4a84edb0950"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RleHRyZWdpb246Y2Y2ZjQ0NDNjMmZmNDU1NGFlZmFkMDdmNjM4OGNkMjRfNDYy_7e2c3bd9-bd63-4548-812d-0e3ff4f994ee"
      unitRef="usd">13000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfMS0xLTEtMS01NDY5Ng_037b98ae-9c00-4c47-8bf5-94a8d3ecdb12"
      unitRef="usd">610000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i309612b0a42b487ab4c3eac4cff4e73a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfMS0zLTEtMS01NDY5Ng_e466551c-ee3b-4654-9658-a511ba44a27d"
      unitRef="usd">257000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="ib58976521f1847c5bdcd48fadb3e4436_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfMi0xLTEtMS01NDY5Ng_def17026-809c-465a-bb4d-0596a3146b27"
      unitRef="usd">83000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="i8496bdf86a2b4266aba21f8932711d5c_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfMi0zLTEtMS01NDY5Ng_0a201ba4-1c50-4e30-8105-b0cafc94cdcd"
      unitRef="usd">396000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <cfms:AllowanceforDoubtfulAccountsReceivableOtherAllowances
      contextRef="i12bf17be2c0c4b6fa8b62b98ac713636_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfMy0xLTEtMS01NDY5Ng_23c1d827-8f8a-4918-9d39-7f9d1539cb2c"
      unitRef="usd">-4000</cfms:AllowanceforDoubtfulAccountsReceivableOtherAllowances>
    <cfms:AllowanceforDoubtfulAccountsReceivableOtherAllowances
      contextRef="ie903fb10e284495191e0d19923c4d1e5_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfMy0zLTEtMS01NDY5Ng_1517f321-0a08-4a13-96c7-84c7e5442418"
      unitRef="usd">-7000</cfms:AllowanceforDoubtfulAccountsReceivableOtherAllowances>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfNC0xLTEtMS01NDY5Ng_c50ff618-45e2-4efe-ba48-8ab1492d9044"
      unitRef="usd">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="ic5d81f1f110a453aa615c60a6cd4af98_D20220101-20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfNC0zLTEtMS01NDY5Ng_17d3f9e3-1feb-4cf0-9802-8b0ec37a9085"
      unitRef="usd">50000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfNS0xLTEtMS01NDY5Ng_5775b434-e73e-461d-b758-f3967dda5f70"
      unitRef="usd">697000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF81NS9mcmFnOmNmNmY0NDQzYzJmZjQ1NTRhZWZhZDA3ZjYzODhjZDI0L3RhYmxlOmM4OTM3OTI1NmFlYjRhMjM5ZTc0ZDQyMjI5ZjJiYWMxL3RhYmxlcmFuZ2U6Yzg5Mzc5MjU2YWViNGEyMzllNzRkNDIyMjlmMmJhYzFfNS0zLTEtMS01NDY5Ng_35730c6c-4672-49ce-923c-537d776fb2f5"
      unitRef="usd">610000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RleHRyZWdpb246NjVjZDExMTEzNTRkNGVmZWIzYzYxMGYyMmJiMTdkOWJfOTE_e069d1e4-2822-4a99-9d0c-6b330b0cb63a">Inventories&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Inventories consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.360%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.804%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw Material&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RleHRyZWdpb246NjVjZDExMTEzNTRkNGVmZWIzYzYxMGYyMmJiMTdkOWJfODY_502728b9-071e-4d36-b926-e3695437d012">Inventories consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.360%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.804%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw Material&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,699&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,628&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,093&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories, net&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfMS0xLTEtMS01NDY5Ng_642ac38e-25d6-4f51-9e85-54f94a24859a"
      unitRef="usd">9931000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfMS0zLTEtMS01NDY5Ng_758c0bed-3ab2-4773-8bae-d893a08d14c3"
      unitRef="usd">9699000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfMi0xLTEtMS01NDY5Ng_2e71769b-7585-482c-bf7e-bc0d065097d6"
      unitRef="usd">1931000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfMi0zLTEtMS01NDY5Ng_6cac12d6-9046-4347-aa8a-1e39bb6f959f"
      unitRef="usd">2118000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfMy0xLTEtMS01NDY5Ng_6f81731b-9ce1-4fb2-a560-32739c9778c4"
      unitRef="usd">7628000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfMy0zLTEtMS01NDY5Ng_63b66350-8973-4e65-84a1-5ff1d5f32206"
      unitRef="usd">7093000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfNC0xLTEtMS01NDY5Ng_9b678cc7-e34d-4878-97c0-380fa3d7aefb"
      unitRef="usd">19490000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82MS9mcmFnOjY1Y2QxMTExMzU0ZDRlZmViM2M2MTBmMjJiYjE3ZDliL3RhYmxlOmZhZmQ1MzBiNGMzNzQ0YzRhMTExNDdiYTdjYTBjNDkyL3RhYmxlcmFuZ2U6ZmFmZDUzMGI0YzM3NDRjNGExMTE0N2JhN2NhMGM0OTJfNC0zLTEtMS01NDY5Ng_eb47a19e-b769-4266-b9b0-384375b6d7a7"
      unitRef="usd">18910000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RleHRyZWdpb246OTVhZDQ2YmU4NzQ3NDg4ZmI1MzEyNjNiOTllMWJmZTZfMjk5_559f12f2-4626-4387-b29a-9343e443f3ce">Property and Equipment&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Property and equipment consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.159%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Useful&lt;br/&gt;Life&lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-7&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-7&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-7&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reusable instruments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Molding and Tooling&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,223&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,990)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,069)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Depreciation expense related to property and equipment was $0.9 million and $1.1&#160;million for the three months ended March&#160;31, 2023 and 2022, respectively. For the three months ended March&#160;31, 2023, the Company recognized $0.1&#160;million in impairment charges related to unused manufacturing equipment and building improvements.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RleHRyZWdpb246OTVhZDQ2YmU4NzQ3NDg4ZmI1MzEyNjNiOTllMWJmZTZfMjk1_8ab9fa79-2001-4944-b916-bb4a114476d4">Property and equipment consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.159%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Useful&lt;br/&gt;Life&lt;br/&gt;(Years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-7&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,490&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5-7&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,090&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3-7&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,295&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Reusable instruments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,771&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Molding and Tooling&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total property and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,223&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,990)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,069)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i162a95092d3e4c57b1e4dfb334733fb3_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMS0xLTEtMS01NDY5Ni90ZXh0cmVnaW9uOjVlOGNjYzhmMGZjNDQ1MjQ5NDA0MTdkMmJiOTY1MTRkXzQ_cc7638f3-ee1d-443c-86d5-ec9b7f55f118">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ia60aa17eafb54c278b7797a53ce55564_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMS0xLTEtMS01NDY5Ni90ZXh0cmVnaW9uOjVlOGNjYzhmMGZjNDQ1MjQ5NDA0MTdkMmJiOTY1MTRkXzc_8294f2ca-6551-4c87-bad2-4bd3076fab3c">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie44df80d16ac4f1f931933cf0326309d_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMS0zLTEtMS01NDY5Ng_c3d4e21e-1502-4c67-acde-1b528629ed7d"
      unitRef="usd">20490000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="icc9f195695cc4f6c9c41f62a14d0faf1_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMS01LTEtMS01NDY5Ng_fed86488-5503-46e0-8ca0-f82dd966bd8b"
      unitRef="usd">20490000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i67aa6db902d8486d9e0d97e287d1f17f_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMi0xLTEtMS01NDY5Ni90ZXh0cmVnaW9uOmNiZmE5MWE2NDRiNzRjZjdhMzBhYmVkMmVkNDdlYzIzXzQ_35664c19-4d16-46d3-84cf-6e85a0377349">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ib196bd119faa41959aab9a5d7ec83b88_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMi0xLTEtMS01NDY5Ni90ZXh0cmVnaW9uOmNiZmE5MWE2NDRiNzRjZjdhMzBhYmVkMmVkNDdlYzIzXzc_94040e4d-e3db-45fc-bdea-ae9a2640098e">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ieddab86d815d432e81b37ffbd817e223_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMi0zLTEtMS01NDY5Ng_d841c397-af40-416b-bffd-88c9dcfa27a0"
      unitRef="usd">765000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i5da7de00e49347dabcf93278a0229ad7_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMi01LTEtMS01NDY5Ng_b79d358f-c494-4a7d-802a-d9fcc1e20f72"
      unitRef="usd">765000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i66a6efcc24df495a9b8c0e432cca8e8f_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMy0xLTEtMS01NDY5Ng_f5fa933c-24b2-4776-9dad-17f55eb01be7">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i30da22bb7acc4aac903a85ac9b40bec5_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMy0zLTEtMS01NDY5Ng_67058083-99af-4b5e-9a2e-92800465829b"
      unitRef="usd">11090000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i453246dc9c114bbdad2deb864f4bf1b0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfMy01LTEtMS01NDY5Ng_6ea5b545-96c1-4b5f-aff4-6689f14502e7"
      unitRef="usd">11037000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i4997b763dc354ef9a2cca26a64ed4504_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNC0xLTEtMS01NDY5Ni90ZXh0cmVnaW9uOjYyYzA1MmU0YzRhZjQzY2FhNGY4N2FhOTg4NjEwNWQxXzQ_cd66ef39-e26b-485a-a5dc-3b58fc727cc7">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i761043fc4dda4d21adafcd59b91451eb_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNC0xLTEtMS01NDY5Ni90ZXh0cmVnaW9uOjYyYzA1MmU0YzRhZjQzY2FhNGY4N2FhOTg4NjEwNWQxXzc_438e5c50-e93b-4506-a71d-ac578e727687">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4c65b257a588489bb63935029f05c50f_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNC0zLTEtMS01NDY5Ng_65916b0f-f17b-431f-aa57-84aee7ca2464"
      unitRef="usd">2445000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="if2ef50d4f42847fc8aabeed1e3696e70_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNC01LTEtMS01NDY5Ng_d77663ec-fd7e-479b-8f06-0d9705d7e0ea"
      unitRef="usd">2295000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i06e31e2d9c8f485fb10dc03df0679133_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNS0xLTEtMS01NDY5Ng_74757e44-826f-481d-ab1a-8c7feadee2f0">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i2d21bf83b03d4b7b95edcdc806515975_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNS0zLTEtMS01NDY5Ng_2eb3e8e6-45f5-4adf-929a-a124a3460ca8"
      unitRef="usd">7771000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4d4696ae636a47cf8d583fa24926a490_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNS01LTEtMS01NDY5Ng_4f504ba7-306d-42ea-a2b5-de9020598f7f"
      unitRef="usd">7147000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ifa48aaa025a84661ac6eb285a9e718c0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNi0xLTEtMS01NDY5Ng_f861c412-402b-4b2a-a409-72d0197e5a06">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i120718042fbf4fd5893900b980f56bb6_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNi0zLTEtMS01NDY5Ng_6acc2caf-b0ef-43b5-b126-dac610eb2aa2"
      unitRef="usd">489000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i42d56f0c0f334316a7cfa68f25361a0c_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNi01LTEtMS01NDY5Ng_79602cc7-f407-4fa1-830e-aa32c1eff17d"
      unitRef="usd">489000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNy0zLTEtMS01NDY5Ng_208360ad-ae19-4a29-b20b-b8fcdf21b371"
      unitRef="usd">43050000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfNy01LTEtMS01NDY5Ng_22566d42-f771-4993-9428-a39570a0c5d0"
      unitRef="usd">42223000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfOC0zLTEtMS01NDY5Ng_7ae3ebc3-d2c7-4504-92b0-61402c4dafa9"
      unitRef="usd">34990000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfOC01LTEtMS01NDY5Ng_46dc70f6-985b-42e7-9f2a-d81e8a12be3b"
      unitRef="usd">34069000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfOS0zLTEtMS01NDY5Ng_aa549fb0-ea4c-4d80-9da9-7d25e076456a"
      unitRef="usd">8060000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RhYmxlOjU2YTFmMDUyOGFlOTQxOTJiZDY3YjNjZTExODQ5NDU5L3RhYmxlcmFuZ2U6NTZhMWYwNTI4YWU5NDE5MmJkNjdiM2NlMTE4NDk0NTlfOS01LTEtMS01NDY5Ng_b2793b96-e6a6-407a-a2ba-be200d6b1c6f"
      unitRef="usd">8154000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RleHRyZWdpb246OTVhZDQ2YmU4NzQ3NDg4ZmI1MzEyNjNiOTllMWJmZTZfMTY4_459936a0-b032-4b0b-b0ac-8dac2ad1bfd4"
      unitRef="usd">900000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RleHRyZWdpb246OTVhZDQ2YmU4NzQ3NDg4ZmI1MzEyNjNiOTllMWJmZTZfMTc1_03833dfb-dd41-4357-8548-a6a38f7e714c"
      unitRef="usd">1100000</us-gaap:Depreciation>
    <us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF82Ny9mcmFnOjk1YWQ0NmJlODc0NzQ4OGZiNTMxMjYzYjk5ZTFiZmU2L3RleHRyZWdpb246OTVhZDQ2YmU4NzQ3NDg4ZmI1MzEyNjNiOTllMWJmZTZfMjc0ODc3OTA2OTk2NQ_5f054d00-dd99-45d0-a7fa-a513b7c958dc"
      unitRef="usd">100000</us-gaap:ImpairmentOfLongLivedAssetsToBeDisposedOf>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RleHRyZWdpb246MjIzNmExNDhmOGQ2NGI0NGE1MWY5OGE1YmU1Y2E5MmNfOTg_e7cb981f-2249-42ce-ba6c-3b13190828e0">Accrued Expenses&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Accrued expenses consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued employee compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued legal expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vendor charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued revenue share expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued clinical trial expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,059&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RleHRyZWdpb246MjIzNmExNDhmOGQ2NGI0NGE1MWY5OGE1YmU1Y2E5MmNfMTAz_0051499b-87b0-4d78-bf6b-a74be780c658">Accrued expenses consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.692%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.639%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued employee compensation&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,926&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued legal expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;397&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued vendor charges&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued revenue share expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued clinical trial expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,059&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,726&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMS0xLTEtMS01NDY5Ng_57529891-5131-4911-b2e1-6777c5dcf84a"
      unitRef="usd">1926000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMS0zLTEtMS01NDY5Ng_9e03ba0b-1f32-48a2-a27f-2ccee02f61a9"
      unitRef="usd">4279000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LitigationReserveCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfNC0xLTEtMS01NDY5Ng_4d7d5d6f-7ee8-4b9d-a328-29aff1fc5736"
      unitRef="usd">1129000</us-gaap:LitigationReserveCurrent>
    <us-gaap:LitigationReserveCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfNC0zLTEtMS01NDY5Ng_fe69aa2b-ea6b-4964-8556-094246b7ec67"
      unitRef="usd">397000</us-gaap:LitigationReserveCurrent>
    <us-gaap:AccruedMarketingCostsCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfNi0xLTEtMS01NDY5Ng_d895dacc-a5da-49e4-97af-f24bf8a550b9"
      unitRef="usd">445000</us-gaap:AccruedMarketingCostsCurrent>
    <us-gaap:AccruedMarketingCostsCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfNi0zLTEtMS01NDY5Ng_88881cc9-43fc-4ced-85b6-9e69d564412d"
      unitRef="usd">903000</us-gaap:AccruedMarketingCostsCurrent>
    <cfms:AccruedRevenueShareExpenseCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfNy0xLTEtMS01NDY5Ng_f135b8cc-7bd5-42a1-baf5-6ec232367de0"
      unitRef="usd">302000</cfms:AccruedRevenueShareExpenseCurrent>
    <cfms:AccruedRevenueShareExpenseCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfNy0zLTEtMS01NDY5Ng_32ecf503-4b5e-4e0c-ae83-95f71f3b2c38"
      unitRef="usd">791000</cfms:AccruedRevenueShareExpenseCurrent>
    <cfms:AccruedClinicalTrialExpenseCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfOS0xLTEtMS01NDY5Ng_8d4f1352-a8bc-42c3-84bc-e8655e935af9"
      unitRef="usd">149000</cfms:AccruedClinicalTrialExpenseCurrent>
    <cfms:AccruedClinicalTrialExpenseCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfOS0zLTEtMS01NDY5Ng_d351589c-7472-4cbe-b8ac-3c5f7039d9e7"
      unitRef="usd">342000</cfms:AccruedClinicalTrialExpenseCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMTAtMS0xLTEtNTY1NDI_588b7486-4804-4124-b112-d797b7825300"
      unitRef="usd">716000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMTAtMy0xLTEtNTY1MzQ_9953a396-7468-471d-b421-dfba664919f7"
      unitRef="usd">215000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMTAtMS0xLTEtNTQ2OTY_bd9cac7d-8193-402c-9c37-b6503050ad9c"
      unitRef="usd">1059000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMTAtMy0xLTEtNTQ2OTY_fca424ab-b433-4d4a-a7ec-6481adb01a7f"
      unitRef="usd">1051000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMTEtMS0xLTEtNTQ2OTY_044a2271-855c-4c28-ac70-6722500cc8b2"
      unitRef="usd">5726000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83My9mcmFnOjIyMzZhMTQ4ZjhkNjRiNDRhNTFmOThhNWJlNWNhOTJjL3RhYmxlOjI5ZjA0M2UzNTNjYTRkYTRiMjc3MDg5YTE1NDk0ZTAwL3RhYmxlcmFuZ2U6MjlmMDQzZTM1M2NhNGRhNGIyNzcwODlhMTU0OTRlMDBfMTEtMy0xLTEtNTQ2OTY_4b4daf98-f8b8-46d2-bff9-217c2cf1661f"
      unitRef="usd">7978000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMjA5Mw_3f56c6d2-ec20-425e-af3e-dab7007d008c">Leases &lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company maintains its corporate headquarters in a leased building located in Billerica, Massachusetts. The Company maintains its design and manufacturing facilities in leased buildings located in Wilmington, Massachusetts, Wallingford, Connecticut and Hyderabad, India.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;The Company's leases have remaining lease terms of approximately &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMzYy_af67cc31-0893-4c22-9feb-defd1fb98f76"&gt;one&lt;/span&gt;-to-five years, some of which include one or more options to extend the leases for up to five years per renewal. The exercise of lease renewal options is at the sole discretion of the Company. The amounts disclosed in the Consolidated Balance Sheet pertaining to right-of-use assets and lease liabilities are measured based on management&#x2019;s current expectations of exercising its available renewal options. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On May 11, 2021, the Company executed an amendment to extend the term of the Wilmington lease through September 30, 2027.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company&#x2019;s existing leases are not subject to any restrictions or covenants which preclude its ability to pay dividends, obtain financing, or enter into additional leases. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;As of March&#160;31, 2023, the Company had not entered into any leases which have not yet commenced which would entitle the Company to significant rights or create additional obligations. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company uses either its incremental borrowing rate or the implicit rate in the lease agreement as the basis to calculate the present value of future lease payments at lease commencement. The incremental borrowing rate represents the rate the Company would have to pay to borrow funds on a collateralized basis over a similar term and in a similar economic environment. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The components of lease expense and related cash flows were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.366%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.399%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rent expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1) Variable operating lease expenses consist primarily of common area maintenance and real estate taxes for the three months ended March&#160;31, 2023 and 2022.  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;As of March&#160;31, 2023, the remaining weighted-average lease term of the operating leases was 3.6 years and the weighted-average discount rate was 6.0%.&#160; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The future minimum rental payments under these agreements as of March&#160;31, 2023 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.282%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Minimum Lease Payments&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;741&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,003)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm
      contextRef="i26a50bb250eb45ef9e76314e3ff46916_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMzY4_6df37e90-dc59-4622-9ca6-4fd0890b2f7f">P5Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
    <cfms:LesseeLeasingArrangementsOperatingLeasesNumberofRenewalOptions
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMzk0_922e571e-8704-4177-b70a-3360be9878b1"
      unitRef="extension">1</cfms:LesseeLeasingArrangementsOperatingLeasesNumberofRenewalOptions>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="ica5786d03ef941abb2aeac19df262f65_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfNDQ0_61d3f91a-60a9-4643-ad64-b7b3bd2e12c3">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMjA5MA_53fbcf97-fbbf-4dbc-9204-48c416869a24">The components of lease expense and related cash flows were as follows (in thousands): &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.366%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.549%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.399%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rent expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;489&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;(1) Variable operating lease expenses consist primarily of common area maintenance and real estate taxes for the three months ended March&#160;31, 2023 and 2022.</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjk2NjI0OWM4YmI3MTQ2NzZiOTczNGI2NDhmMDAxZDc1L3RhYmxlcmFuZ2U6OTY2MjQ5YzhiYjcxNDY3NmI5NzM0YjY0OGYwMDFkNzVfMi0yLTEtMS01NDY5Ng_2c98991e-f661-40b2-8fcc-e112389b80e0"
      unitRef="usd">489000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjk2NjI0OWM4YmI3MTQ2NzZiOTczNGI2NDhmMDAxZDc1L3RhYmxlcmFuZ2U6OTY2MjQ5YzhiYjcxNDY3NmI5NzM0YjY0OGYwMDFkNzVfMi00LTEtMS01NDY5Ng_5f32a3ce-ea4e-4def-bc16-23ab796d1daf"
      unitRef="usd">479000</us-gaap:OperatingLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjk2NjI0OWM4YmI3MTQ2NzZiOTczNGI2NDhmMDAxZDc1L3RhYmxlcmFuZ2U6OTY2MjQ5YzhiYjcxNDY3NmI5NzM0YjY0OGYwMDFkNzVfMy0yLTEtMS01NDY5Ng_3d34fc03-5e10-4773-ac6e-e51ecfcd5d2e"
      unitRef="usd">41000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjk2NjI0OWM4YmI3MTQ2NzZiOTczNGI2NDhmMDAxZDc1L3RhYmxlcmFuZ2U6OTY2MjQ5YzhiYjcxNDY3NmI5NzM0YjY0OGYwMDFkNzVfMy00LTEtMS01NDY5Ng_72d3527d-ef7b-49b2-b529-48d0809338ed"
      unitRef="usd">108000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjk2NjI0OWM4YmI3MTQ2NzZiOTczNGI2NDhmMDAxZDc1L3RhYmxlcmFuZ2U6OTY2MjQ5YzhiYjcxNDY3NmI5NzM0YjY0OGYwMDFkNzVfNC0yLTEtMS01NDY5Ng_8d495c07-1823-432b-b0bb-0c5596d7ef2e"
      unitRef="usd">530000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjk2NjI0OWM4YmI3MTQ2NzZiOTczNGI2NDhmMDAxZDc1L3RhYmxlcmFuZ2U6OTY2MjQ5YzhiYjcxNDY3NmI5NzM0YjY0OGYwMDFkNzVfNC00LTEtMS01NDY5Ng_e24243a5-f2a9-4f0d-a94a-863c53f9bc59"
      unitRef="usd">587000</us-gaap:LeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMTkzNA_9bc1d9bb-e572-4bb1-9974-051b495944e1">P3Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMTk4MA_576964c1-2647-4932-8a53-b9ed1a65001b"
      unitRef="number">0.060</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RleHRyZWdpb246OTc1YmQyOTZjZTQ5NDFiM2IxYjYzOGU1OWNiZmQ2NzVfMjA5MQ_81b3f0a8-fa9b-4f0e-9535-81d90d8f5e37">The future minimum rental payments under these agreements as of March&#160;31, 2023 were as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.282%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Minimum Lease Payments&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;741&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,003)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfNS0xLTEtMS01NDY5Ng_87e2c613-aafd-4bec-aa34-195d3a59cb57"
      unitRef="usd">1816000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfNi0xLTEtMS01NDY5Ng_d9d01cbc-dc0d-4ef5-a8a4-6dd6d4540bd0"
      unitRef="usd">2126000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfNy0xLTEtMS01NDY5Ng_412091ac-1df4-4585-abdd-3f382659b8cc"
      unitRef="usd">1872000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfOC0xLTEtMS01NDY5Ng_bbf4a16b-c964-485f-ac13-33fce2a98a34"
      unitRef="usd">972000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfOS0xLTEtMS01NDY5Ng_a3c2c39b-1a4a-4591-b80e-b265b052db1d"
      unitRef="usd">741000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfMTAtMS0xLTEtNTQ2OTY_ea12fa0c-0e58-4826-9684-df6f00fe6418"
      unitRef="usd">7527000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfMTEtMS0xLTEtNTQ2OTY_03022a59-a9aa-451e-8ba7-e5158dd45f51"
      unitRef="usd">1003000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF83OS9mcmFnOjk3NWJkMjk2Y2U0OTQxYjNiMWI2MzhlNTljYmZkNjc1L3RhYmxlOjFmMDRiYWE5MzVkYTQ3YTVhODE5MTcwOTAyNmQ5ZGE0L3RhYmxlcmFuZ2U6MWYwNGJhYTkzNWRhNDdhNWE4MTkxNzA5MDI2ZDlkYTRfMTItMS0xLTEtNTQ2OTY_0e7d3d41-1edf-43be-b064-4201b68472ad"
      unitRef="usd">6524000</us-gaap:OperatingLeaseLiability>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTQyNDA_b4379b1f-30c3-4cc1-af3e-17d0b7550018">Commitments and Contingencies  &lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;License and revenue share agreements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue share agreements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company is party to revenue share agreements with certain past and present members of its scientific advisory board under which these advisors agreed to participate on a scientific advisory board and to assist with the development of the Company&#x2019;s personalized implant products and related intellectual property. These agreements provide that the Company will pay the advisor a specified percentage of the Company&#x2019;s net revenue, ranging from 0.1% to 1.33%, with respect to the Company&#x2019;s products on which the advisor made a technical contribution or, in some cases, products covered by one or more claims of one or more Company patents on which the advisor is a named inventor. The specific percentage is determined by reference to product classifications set forth in the agreement and is often tiered based on the level of net revenue collected by the Company on such product sales. The Company&#x2019;s payment obligations under these agreements typically expire a fixed number of years after expiration or termination of the agreement or a fixed number of years after the first sale of a product, but in some cases expire on a product-by-product basis or expiration of the last to expire of the Company&#x2019;s patents where the advisor is a named inventor that claims the applicable product.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company incurred aggregate revenue share expense including all amounts payable under the Company&#x2019;s scientific advisory board revenue share agreements of $0.3 million during the three months ended March&#160;31, 2023, representing 2.3% of product revenue and $0.6 million during the three months ended March&#160;31, 2022, representing 4.0% of product revenue. Revenue share expense is included in research and development. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Other obligations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;In the ordinary course of business, the Company is a party to certain non-cancellable contractual obligations typically related to product royalty and research and development.&#160; The Company accrues a liability for such matters when it is probable that future expenditures will be made and such expenditures can be reasonably estimated.  There have been no contingent liabilities requiring accrual at March&#160;31, 2023 or December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal proceedings&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the ordinary course of the Company's business, the Company is subject to routine risk of litigation, claims and administrative proceedings on a variety of matters, including patent infringement, product liability, securities-related claims, and other claims in the United States and in other countries where the Company sells its products. In the case of matters below in which the Company is a defendant, adverse outcomes of these lawsuits could have a material adverse effect on the Company's business, financial condition or results of operations.  The Company is presently unable to predict the outcome of these lawsuits or to reasonably estimate a range of potential losses, if any, related to the lawsuits. Legal costs associated with legal proceedings are accrued as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Settlement and License Agreement with Medacta&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On August 29, 2019, the Company filed a lawsuit against Medacta USA, Inc. in the United States District Court for the District of Delaware. The Company amended its complaint on December 23, 2019, and again on October 14, 2020, adding Medacta International SA (Medacta USA, Inc.&#x2019;s parent company) as a defendant (Medacta USA, Inc. and Medacta International SA are referred to, together, as &#x201c;Medacta&#x201d;). The Company is seeking damages for Medacta&#x2019;s infringement of certain of the Company&#x2019;s patents related to patient-specific instrument and implant systems, alleging that Medacta&#x2019;s multiple lines of patient-specific instruments, as well as the implant components used in conjunction with them, infringe four of the Company&#x2019;s patents. The accused product lines include Medacta patient-specific instrument and implant systems for knee and shoulder replacement procedures. On January 6, 2020, Medacta filed its answer to the Company's complaint, denying that its patient-specific instrument and implant systems infringe the patents asserted by the Company. Medacta&#x2019;s answer also alleges the affirmative defense that the Company's asserted patents are invalid. On January 21, 2021, Medacta International SA filed a partial motion to dismiss; on February 16, 2021, the Company filed its opposition to the motion; and on March 2, 2021, Medacta International SA filed its reply.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On March 4, 2021, the court issued its opinion on claim construction, ruling in the Company&#x2019;s favor on the construction of all of the disputed terms. On June 3, 2022, the &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;court denied Medacta International SA&#x2019;s motion to dismiss.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On September 8, 2022, the parties notified the court that an agreement in principle to settle the case had been reached.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The trial schedule and case deadlines were&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:115%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;canceled, pending the parties&#x2019; preparation of and agreement to a definitive settlement agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:8pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 20, 2021, the Company filed a lawsuit against Medacta Germany GmbH and Medacta International SA (together, &#x201c;Medacta Europe&#x201d;) in the Regional Court of D&#xfc;sseldorf ("German Court").  We are seeking damages for Medacta Europe&#x2019;s infringement of one of our German patents related to patient-specific instrument and implant systems through Medacta Europe&#x2019;s sales of multiple lines of PSI, as well as the implant components used in conjunction with them, in Germany.  The accused product lines include Medacta Europe&#x2019;s patient-specific instrument and implant systems for knee, hip, and shoulder replacement procedures.  Medacta Europe filed its statement of defense on January 31, 2022. The Company filed its reply to Medacta&#x2019;s statement of defense on April 28, 2022. As of July 28, 2022, the Company delivered security deposits in the amount of EUR 146,000 to the German Court in order to maintain the action. On September 1, 2022, an oral hearing on infringement and liability was held. On September 9, 2022, the parties notified the court that an agreement in principle to settle the case had been reached, and the issuance of further rulings by the court was delayed, pending the parties&#x2019; preparation of and agreement to a definitive settlement agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On November 8, 2022, the Company entered into a non-exclusive, fully paid up, worldwide settlement and license agreement with Medacta, resolving the matters described in the two preceding paragraphs. Under the terms of this agreement, the Company granted a perpetual, irrevocable, non-exclusive license to Medacta to use patient-specific instrument technology covered by the Company's patents and patent applications with off-the-shelf implants for the knee and shoulder. This license does not extend to patient-specific implants. This license agreement provided for a single lump-sum payment by Medacta to the Company upon entering into the license agreement, which was paid in the fourth quarter of 2022. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Litigation with Osteoplastics&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 20, 2020, Osteoplastics LLC ("Osteoplastics"), filed a lawsuit against the Company in the United States District Court for the District of Delaware, and Osteoplastics amended its complaint on April 2, 2020.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Osteoplastics alleges that the Company&#x2019;s proprietary software, including the Company&#x2019;s iFit software platform, and the Company&#x2019;s use of its proprietary software for designing and manufacturing medical devices, including implants, infringes  seven patents owned by Osteoplastics.  On June 15, 2020, the Company filed a motion to dismiss Osteoplastics&#x2019; complaint, and on October 21, 2020, the court denied the motion.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 2, 2020, the Company filed its answer to the amended complaint, denying that it infringes the patents asserted by Osteoplastics.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s answer also alleges the affirmative defense that Osteoplastics&#x2019; asserted patents are invalid. Trial is currently set to begin on July 24, 2023.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;    &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Litigation against DePuy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On April 30, 2021, the Company filed a lawsuit against DePuy Synthes, Inc., DePuy Synthes Products, Inc., and DePuy Synthes Sales, Inc. (collectively, &#x201c;DePuy&#x201d;) in the United States District Court for the District of Delaware, seeking damages for DePuy&#x2019;s infringement of certain of the Company's patents related to patient-specific instrument and implant systems.  The complaint alleges that DePuy&#x2019;s multiple lines of PSI, as well as the implant components used in conjunction with them, infringe seven of the Company's patents.  The accused product lines include DePuy&#x2019;s patient-specific instrument and implant systems for knee and shoulder replacement procedures. On October 25, 2021, DePuy filed a partial motion to dismiss.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On November 15, 2021, the Company filed an amended complaint.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On December 6, 2021, DePuy filed a second partial motion to dismiss.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company opposed the partial motion to dismiss on December 20, 2021, and DePuy filed a reply in support of its partial motion to dismiss on December 27, 2021. On February 14, 2022, the court denied DePuy's partial motion to dismiss.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On February 28, 2022, DePuy filed its answer to the Company's amended complaint, denying that its patient-specific instrument and implant systems infringe the patents asserted by the Company. A claim construction hearing was held on February 6, 2023. Discovery in the lawsuit is ongoing.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Litigation against &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Exactech&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;On June 3, 2021, the Company filed a lawsuit against Exactech, Inc. (&#x201c;Exactech&#x201d;) in the United States District Court for the Middle District of Florida seeking damages for Exactech&#x2019;s infringement of certain of the Company's patents related to patient-specific instrument and implant systems.  The complaint alleges that Exactech&#x2019;s line of patient-specific instruments for use with its ankle implant systems, as well as the ankle implant &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;components used in conjunction with them, infringe five of the Company's patents. Discovery in the lawsuit is ongoing.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Litigation against Bodycad Laboratories&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;On June 3, 2021, the Company filed a lawsuit against Bodycad Laboratories, Inc., Bodycad USA Corp. (together, &#x201c;Bodycad&#x201d;), and Exactech (collectively, &#x201c;Defendants&#x201d;), in the United States District Court for the Middle District of Florida seeking damages for Defendants&#x2019; infringement of certain of the Company's patents related to patient-specific instrument and implant systems.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:105%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;The complaint alleges that Defendants&#x2019; line of patient-specific surgical systems for unicondylar knee replacement surgery and Bodycad&#x2019;s line of patient-specific surgical systems for knee osteotomy surgery infringe six of the Company's patents. On August 2, 2021, Exactech filed its answer to the complaint, denying that it infringed our asserted patents and also alleging that our asserted patents are invalid.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:105%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;On August 20, 2021, Bodycad filed a motion to dismiss and for a more definite statement.  On September 10, 2021, the Company filed an amended complaint that continued to accuse the same products of infringing six of the Company's patents.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:105%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;On September 24, 2021, Defendants filed a motion to dismiss, and the Company opposed the motion to dismiss on October 15, 2021. On March 30, 2022, the court denied Defendants motion to dismiss. Discovery in the lawsuit is ongoing.  On February 9, 2023, the parties entered into a settlement and license agreement that resolves the patent infringement dispute filed by the Company in June of 2021.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:105%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:105%"&gt;The parties agreed to an undisclosed amount for the dismissal of all patent litigation between the companies along with a release and license to certain Company patents related to patient-specific instrumentation and knee implants.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Litigation against Aetna&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On May 8, 2020, the Company and an individual plaintiff filed a lawsuit against Aetna, Inc. and Aetna Life Insurance Company (together, &#x201c;Aetna&#x201d;) in the United States District Court for the District of Massachusetts seeking damages for Aetna&#x2019;s improper denial of coverage for personalized knee implants under its health plans and the ones it administers. The Company amended its complaint on August 13, 2020, alleging that Aetna violated its duties under state and federal law, including the Employee Retirement Income Security Act. On March 31, 2021, the court dismissed the Company&#x2019;s claims against Aetna, but allowed the individual plaintiff&#x2019;s claims to survive.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The individual plaintiff settled his claims against Aetna in October 2021 and the Company subsequently filed a notice of appeal. The Company filed its appeal brief on April 15, 2022.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;Aetna filed its response to our appeal brief on June 15, 2022. The court is scheduled to hear oral arguments from the parties on the appeal briefs on November 8, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On January 23, 2023, the United States Court of Appeals for the First Circuit revived the Company's trade libel claims against Aetna, finding that Aetna&#x2019;s policy claims that the Company's knee implants are &#x201c;experimental&#x201d; and &#x201c;investigational&#x201d; can plausibly be considered actionable product disparagement, and that the district court had erred in dismissing these claims. The court found that the Company has plausibly claimed that Aetna's policy decision caused orthopedic surgeons to stop prescribing its knee replacement implants. The court also revived the Company's related claims for unfair trade practice and interference with advantageous relations. The court issued a scheduling order on March 2, 2023 and discovery in the lawsuit has commenced. The Company intends to continue pursuing these claims against Aetna, and expects to incur additional legal expenses in 2023 (and potentially thereafter) in connection with doing so. The Company is seeking an award of monetary damages and equitable relief. The Company is not presently able to predict the ultimate outcome of this matter or to reasonably estimate a range of potential damages the Company may be awarded, if successful.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt;    &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Indemnification&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;In the normal course of business, the Company enters into contracts and agreements that contain a variety of representations and warranties and provide for general indemnifications. The Company&#x2019;s exposure under these agreements is unknown because it involves claims that may be made against the Company in the future, but have not yet been made. To date, the Company has not paid any claims or been required to defend any action related to its indemnification obligations. However, the Company may record charges in the future as a result of these indemnification obligations. In accordance with its bylaws, the Company has indemnification obligations to its officers and directors for certain events or occurrences, subject to certain limits, while they are serving at the Company&#x2019;s request in such capacity. There have been no claims to date and the Company has a director and officer insurance policy that would be expected to enable it to recover a portion of any amounts paid for future claims.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <cfms:RelatedPartyTransactionRequiredPaymenttoRelatedPartyfromNetRevenuesPercentage
      contextRef="i6957c63e0d604760a45600aed299a529_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfNTU4_7871ffe2-9a01-4a71-8c78-a8be9bf09592"
      unitRef="number">0.001</cfms:RelatedPartyTransactionRequiredPaymenttoRelatedPartyfromNetRevenuesPercentage>
    <cfms:RelatedPartyTransactionRequiredPaymenttoRelatedPartyfromNetRevenuesPercentage
      contextRef="i94212ed100c244e0905b134d86d9430c_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfNTY1_a1f165dc-cc80-4085-91fc-1ac18eec5566"
      unitRef="number">0.0133</cfms:RelatedPartyTransactionRequiredPaymenttoRelatedPartyfromNetRevenuesPercentage>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="i45caac9eb06b415289158065d7075654_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTU1OA_ab627f11-a0d6-49d9-a0d9-17fb271d560c"
      unitRef="usd">300000</us-gaap:CostsAndExpensesRelatedParty>
    <cfms:RelatedPartyTransactionRevenueShareExpensePercentageOnRevenue
      contextRef="i45caac9eb06b415289158065d7075654_D20230101-20230331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTYwOA_f2f78b51-18f5-4c4b-9b04-0553d2ffb508"
      unitRef="number">0.023</cfms:RelatedPartyTransactionRevenueShareExpensePercentageOnRevenue>
    <us-gaap:CostsAndExpensesRelatedParty
      contextRef="i5c70028139774b3b8441f687c5fb48b7_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTcwOQ_b4d8f528-8338-4d1e-8a9e-26fb2c4e8ee2"
      unitRef="usd">600000</us-gaap:CostsAndExpensesRelatedParty>
    <cfms:RelatedPartyTransactionRevenueShareExpensePercentageOnRevenue
      contextRef="i5c70028139774b3b8441f687c5fb48b7_D20220101-20220331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTc1OQ_1a00d9bb-4d18-4d09-91e0-db84207b5cfe"
      unitRef="number">0.040</cfms:RelatedPartyTransactionRevenueShareExpensePercentageOnRevenue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMjI5OA_473ef095-7bf1-4f18-b6da-53800a7f4c7a"
      unitRef="usd">0</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMjI5OA_9a9c3c48-9e16-4156-b373-caaf1ffaadcb"
      unitRef="usd">0</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber
      contextRef="ic12f921cae74496f92dc47041c087190_D20190829-20190829"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMzQyMg_c3d42227-0ce6-438e-bdfe-d7ba29c76a76"
      unitRef="patent">4</us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber>
    <us-gaap:SecurityDeposit
      contextRef="i5d51fa0aae6e4717a401e92a6ed834e9_I20220728"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfNTQ0Mw_757511d2-5506-41b7-b857-dcf417475177"
      unitRef="eur">146000</us-gaap:SecurityDeposit>
    <us-gaap:LossContingencyPatentsAllegedlyInfringedNumber
      contextRef="i7bc5cd8f53ac4db0993d5c6dc7c5bc1c_D20200320-20200320"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfNjMxMQ_9d055f30-133b-4583-bb6a-c184bdc2291d"
      unitRef="patent">7</us-gaap:LossContingencyPatentsAllegedlyInfringedNumber>
    <us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber
      contextRef="i35bbf177572142769c370b1bea552208_D20210430-20210430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTA5OTUxMTY0MjAyMg_f39fb482-bffc-4275-8e59-ae6900df7fd7"
      unitRef="patent">7</us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber>
    <us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber
      contextRef="ic17cd686ff04450c8463d3ef8010b296_D20210603-20210603"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTA5OTUxMTY0MjAzMg_2df2d770-9407-40a2-9177-7e8ba97cae8d"
      unitRef="patent">5</us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber>
    <us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber
      contextRef="i2685d435c30d4035a4ffced5310e2e7a_D20210603-20210603"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84Mi9mcmFnOjM5NmVhMjIyY2ViZTQzZTI5YjQxZjQ0M2Y4MGE5NDlhL3RleHRyZWdpb246Mzk2ZWEyMjJjZWJlNDNlMjliNDFmNDQzZjgwYTk0OWFfMTA5OTUxMTY0MjA0Mg_ddb9a997-7350-4ce9-8b91-7eb5ab5c183b"
      unitRef="patent">6</us-gaap:GainContingencyPatentsAllegedlyInfringedUponNumber>
    <us-gaap:LongTermDebtTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfNzAxNw_fdddbb31-409c-4c49-bb18-a44b8ec2014f">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Note I&#x2014;Debt and Notes Payable &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Long-term debt consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MidCap, Term Loan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(399)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(437)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt, less debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,601&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Principal payments due as of March&#160;31, 2023 consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.884%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Principal&lt;br/&gt;Payment&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remainder of the year)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;MidCap Term Loan&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On November 22, 2021, the Company and its subsidiary, ImaTx, Inc., entered into the New Credit Agreement with MidCap, as agent, and certain lender parties thereto. The New Credit Agreement provides for a five-year, $21&#160;million secured Term Facility. The New Credit Agreement refinanced and replaced the prior secured loan agreement with Innovatus that the Company entered into in June 2019 (the &#x201c;2019 Secured Loan Agreement&#x201d;), which agreement has been terminated. The full amount of the $21&#160;million Term Facility was borrowed on the date of entering into the New Credit Agreement, and the Company used these proceeds to repay all outstanding obligations under the 2019 Secured Loan Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The New Credit Agreement has a maturity date of November 1, 2026 and requires interest only payments through October 31, 2024, and thereafter, 24 monthly payments of principal and interest resulting in the Term Facility being fully paid by the maturity date. Interest is payable monthly in arrears at a rate of 5.7% per annum plus one month LIBOR subject to a LIBOR floor of 1%. In addition to the interest charged on the Term Facility, the Company is also obligated to pay certain fees, including an origination fee of 0.5% of the term loan due at closing and a final payment fee of 4.0% of the term loan at the time of final payment. On August 1, 2022, the Company entered into a New Credit Agreement, which replaced references to the LIBOR rate within the existing agreement, with the SOFR interest rate, such that interest will be payable monthly in arrears at a rate of 5.7% per annum plus one month SOFR subject to a SOFR floor of 1%.  All other terms under the New Credit agreement remain the same.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:24.75pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:24.75pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The obligation of the Company with respect to the New Credit Agreement are secured by a security interest over substantially all of the personal property assets of the Company, including accounts receivable, deposit accounts, intellectual property, investment property, inventory, equipment and equity interests in its subsidiaries. The New Credit Agreement contains customary affirmative and negative covenants, including limitations on our ability to incur additional debt, grant or permit additional liens, make investments and acquisitions, merge or consolidate with others, dispose of assets, pay dividends and distributions, pay subordinated indebtedness and enter into affiliate transactions. In addition, the New Credit Agreement contains a minimum liquidity covenant requiring the Company to maintain unrestricted cash and cash equivalents in excess of $4.0&#160;million. The New Credit Agreement also includes events of default customary for facilities of this type and upon the occurrence of such events of default, subject to customary cure rights, all outstanding loans under the Term Facility may be accelerated. As of March&#160;31, 2023, the Company was not in breach of covenants under the New Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The prepayment of the debt was accounted for as a debt extinguishment and the Company incurred a loss on the extinguishment of $1.1&#160;million. This amount consisted of final payment fee, prepayment penalty and the write-off of unamortized debt issuance costs. The loss on extinguishment of debt was recognized as interest expense within the consolidated statement of operations during the year ended December 31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfNzAyNA_82690d8b-847e-4e67-b6d5-0f48f8928195">Long-term debt consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.835%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.566%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.567%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31,&lt;br/&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;MidCap, Term Loan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(399)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(437)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt, less debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,601&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i69593b7b63154bbeb6954c23eb8c3370_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjAwY2E1ZDFlM2FmYTQxNmQ5OGVmOTFkMDJiNTg1OWNjL3RhYmxlcmFuZ2U6MDBjYTVkMWUzYWZhNDE2ZDk4ZWY5MWQwMmI1ODU5Y2NfNS0xLTEtMS01NDY5Ng_c4bce228-27fa-4780-830c-e7fd87af2cb4"
      unitRef="usd">21000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i7473f44da63f4161aea864bbdbe82fe4_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjAwY2E1ZDFlM2FmYTQxNmQ5OGVmOTFkMDJiNTg1OWNjL3RhYmxlcmFuZ2U6MDBjYTVkMWUzYWZhNDE2ZDk4ZWY5MWQwMmI1ODU5Y2NfNS0zLTEtMS01NDY5Ng_014cbe5a-af6b-46c2-8fc2-6982dde49c66"
      unitRef="usd">21000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjAwY2E1ZDFlM2FmYTQxNmQ5OGVmOTFkMDJiNTg1OWNjL3RhYmxlcmFuZ2U6MDBjYTVkMWUzYWZhNDE2ZDk4ZWY5MWQwMmI1ODU5Y2NfOS0xLTEtMS01NDY5Ng_a990023d-7937-41c9-a237-98a4446c6357"
      unitRef="usd">399000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjAwY2E1ZDFlM2FmYTQxNmQ5OGVmOTFkMDJiNTg1OWNjL3RhYmxlcmFuZ2U6MDBjYTVkMWUzYWZhNDE2ZDk4ZWY5MWQwMmI1ODU5Y2NfOS0zLTEtMS01NDY5Ng_b201aca3-0b91-4801-b02f-50fad9e086e0"
      unitRef="usd">437000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjAwY2E1ZDFlM2FmYTQxNmQ5OGVmOTFkMDJiNTg1OWNjL3RhYmxlcmFuZ2U6MDBjYTVkMWUzYWZhNDE2ZDk4ZWY5MWQwMmI1ODU5Y2NfMTEtMS0xLTEtNTQ2OTY_2a0c39e9-ac01-4012-9f71-d712098c21d9"
      unitRef="usd">20601000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjAwY2E1ZDFlM2FmYTQxNmQ5OGVmOTFkMDJiNTg1OWNjL3RhYmxlcmFuZ2U6MDBjYTVkMWUzYWZhNDE2ZDk4ZWY5MWQwMmI1ODU5Y2NfMTEtMy0xLTEtNTQ2OTY_b9f31102-5a1e-40f0-bec1-a49670d1e5fb"
      unitRef="usd">20563000</us-gaap:LongTermDebt>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfNzAzMA_9b41a622-2f01-4417-b855-a5d64c39494f">Principal payments due as of March&#160;31, 2023 consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:81.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.884%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Principal&lt;br/&gt;Payment&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023 (remainder of the year)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <cfms:LongtermDebtMaturitiesRepaymentsOfPrincipalAndInterestRemainderOfFiscalYear
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjdhYzNmOTM1ZDg3ZDQyZjRiMDVmNzIxMGQ2NzZiYjljL3RhYmxlcmFuZ2U6N2FjM2Y5MzVkODdkNDJmNGIwNWY3MjEwZDY3NmJiOWNfNC0xLTEtMS01NDY5Ng_6c404c98-77d4-4c56-b5ae-af5f55c0c46d"
      unitRef="usd">0</cfms:LongtermDebtMaturitiesRepaymentsOfPrincipalAndInterestRemainderOfFiscalYear>
    <cfms:LongTermDebtMaturitiesRepaymentsOfPrincipalAndInterestInYearOne
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjdhYzNmOTM1ZDg3ZDQyZjRiMDVmNzIxMGQ2NzZiYjljL3RhYmxlcmFuZ2U6N2FjM2Y5MzVkODdkNDJmNGIwNWY3MjEwZDY3NmJiOWNfNS0xLTEtMS01NDY5Ng_72431166-e4ed-47d6-84f7-38645ee53cd4"
      unitRef="usd">1750000</cfms:LongTermDebtMaturitiesRepaymentsOfPrincipalAndInterestInYearOne>
    <cfms:LongtermDebtMaturitiesRepaymentsOfPrincipalAndInterestInYearTwo
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjdhYzNmOTM1ZDg3ZDQyZjRiMDVmNzIxMGQ2NzZiYjljL3RhYmxlcmFuZ2U6N2FjM2Y5MzVkODdkNDJmNGIwNWY3MjEwZDY3NmJiOWNfNi0xLTEtMS01NDY5Ng_9792a578-5aee-494d-beeb-8841efbbaf37"
      unitRef="usd">10500000</cfms:LongtermDebtMaturitiesRepaymentsOfPrincipalAndInterestInYearTwo>
    <cfms:LongtermDebtMaturitiesRepaymentsofPrincipalAndInterestInYearThree
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjdhYzNmOTM1ZDg3ZDQyZjRiMDVmNzIxMGQ2NzZiYjljL3RhYmxlcmFuZ2U6N2FjM2Y5MzVkODdkNDJmNGIwNWY3MjEwZDY3NmJiOWNfNy0xLTEtMS01NDY5Ng_e6f20b8b-56c0-4a24-8a44-f8d84547a19f"
      unitRef="usd">8750000</cfms:LongtermDebtMaturitiesRepaymentsofPrincipalAndInterestInYearThree>
    <cfms:LongTermDebtAndPaidInKindInterestCommitment
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RhYmxlOjdhYzNmOTM1ZDg3ZDQyZjRiMDVmNzIxMGQ2NzZiYjljL3RhYmxlcmFuZ2U6N2FjM2Y5MzVkODdkNDJmNGIwNWY3MjEwZDY3NmJiOWNfOC0xLTEtMS01NDY5Ng_ffb6c05c-05bf-4f44-992b-a5662c07d969"
      unitRef="usd">21000000</cfms:LongTermDebtAndPaidInKindInterestCommitment>
    <us-gaap:DebtInstrumentTerm
      contextRef="ic0bf8e944892482abedcfc3a1060494e_D20211122-20211122"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfNzAyNQ_32cfe4d7-74b0-4f4f-911a-b3da7a8a5b08">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ia29c285dc04b44e3a504ab20c3577998_I20211122"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMTUwNg_185ab6e7-d01f-4750-8938-4513fc353750"
      unitRef="usd">21000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ia29c285dc04b44e3a504ab20c3577998_I20211122"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMTY5Mg_2ea35386-801b-4ebd-a135-01e65a6057f7"
      unitRef="usd">21000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i3dcfa4e9d879409195bcbd6dbce4ac50_D20211031-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMjIwMg_d74794d0-87f4-469a-bdf1-292c7fae5da8"
      unitRef="number">0.057</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <cfms:DebtInstrumentVariableRate
      contextRef="i7ceac62fb710486b8afd07d124447432_D20211031-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMjI2NA_357b5fc1-81fe-48c8-b869-508c0ee68fd1"
      unitRef="number">0.01</cfms:DebtInstrumentVariableRate>
    <cfms:DebtInstrumentOriginationFeeDueAtClosing
      contextRef="ie6b0e13eb49a427e95cf931978511488_D20211031-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMjQwOQ_adbb83ce-c3c7-4cd8-ae1d-00b10878a3d1"
      unitRef="number">0.005</cfms:DebtInstrumentOriginationFeeDueAtClosing>
    <cfms:DebtInstrumentFinalPaymentFee
      contextRef="ie6b0e13eb49a427e95cf931978511488_D20211031-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMjQ3MQ_16612462-4004-43a3-884e-be9be3da2a7f"
      unitRef="number">0.040</cfms:DebtInstrumentFinalPaymentFee>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i912af0eaa76f40fc81bc1401bf8be888_D20211031-20211031"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMjc2MA_ba3f2ac9-c536-4d8d-9a7e-3cc4b91a7f6a"
      unitRef="number">0.057</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <cfms:DebtInstrumentVariableRate
      contextRef="i722e2466d26f4445a26c4ad0eb4e9d50_D20211031-20211031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMjgyMA_6a915278-698d-4cca-a325-eda9c9d04767"
      unitRef="number">0.01</cfms:DebtInstrumentVariableRate>
    <us-gaap:DebtInstrumentConvertibleLiquidationPreferenceValue
      contextRef="i518c2c214dfb4fe3a1be6117664d9817_I20211122"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfMzc1MQ_93c4ef9c-ea95-4bc9-a7b8-9fa20a458acd"
      unitRef="usd">4000000</us-gaap:DebtInstrumentConvertibleLiquidationPreferenceValue>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i8ad070ac4e564c319697ae7031ce5d93_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF84OC9mcmFnOjIxYjJkNDdmMTdiZTQzZWVhMzYzMDQwZGZjMzgxZTY5L3RleHRyZWdpb246MjFiMmQ0N2YxN2JlNDNlZWEzNjMwNDBkZmMzODFlNjlfNDIxNQ_afaae3d8-4133-4f82-a7f6-ea883655807e"
      unitRef="usd">-1100000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTQ3_66275d6a-bae7-4702-891d-314394cd8a11">Stockholders&#x2019; Equity &lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common stock&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Common stockholders are entitled to dividends as and when declared by the board of directors, subject to the rights of holders of all classes of stock outstanding having priority rights as to dividends. There have been no dividends declared to date.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On March 30, 2021, the Company's board of directors adopted a resolution approving a Certificate of Amendment to the Company's Restated Certificate of Incorporation to increase the Company's number of authorized shares of Common Stock from 200,000,000 to 300,000,000 (the &#x201c;Certificate of Amendment&#x201d;). The Company's stockholders approved the Certificate of Amendment at the 2021 Annual Meeting. The total number of the Company's authorized common stock was decreased to 20,000,000 after giving effect to the Reverse Stock Split. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%"&gt;Reverse Stock Split&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;At the Company&#x2019;s 2022 Annual Meeting of Stockholders, the Company&#x2019;s stockholders approved a proposed amendment to the Company&#x2019;s Restated Certificate of Incorporation to effect a reverse stock split of all of the Company&#x2019;s outstanding shares of common stock by one of several fixed ratios between 1-for-2 and 1-for-10 and to correspondingly decrease the number of authorized shares of the Company&#x2019;s common stock as disclosed in the Company&#x2019;s proxy statement for the 2022 Annual Meeting of Stockholders&lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; The reverse stock split was proposed to address the Company&#x2019;s current non-compliance with Nasdaq&#x2019;s $1.00 per share minimum bid price requirement. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On October 26, 2022, the Company held a Special Meeting of Stockholders and the Company&#x2019;s stockholders approved an additional proposed amendment to the Company&#x2019;s Restated Certificate of Incorporation to effect a reverse stock split of all of the Company&#x2019;s outstanding shares of common stock by one of three fixed ratios, 1-for-15, 1-for-20 and 1-for-25, and to correspondingly adjust the number of authorized shares of the Company&#x2019;s common stock by the approved ratio, 1-for-9, 1-for-12 and 1-for-15, respectively (the &#x201c;Updated Reverse Stock Split Proposal&#x201d;), as disclosed in the Company&#x2019;s proxy statement for the October 26, 2022 Special Meeting of Stockholders&lt;/span&gt;&lt;span style="color:#0000ff;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; The Updated Reverse Stock Split Proposal amendment was proposed to address the Company&#x2019;s current non-compliance at such time with Nasdaq&#x2019;s $1.00 per share minimum bid price requirement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The Company&#x2019;s Board of Directors determined to proceed with implementing the 1-for-25 reverse stock split that was approved by shareholder on October 26, 2022, and such 1-for-25 reverse stock split was implemented in November 2022 (the &#x201c;Reverse Stock Split&#x201d;) . As a result of the Reverse Stock Split, each of the holders of the Company&#x2019;s Common Stock received one (1) new share of Common Stock for every twenty-five (25) shares such shareholder held immediately prior. Fractional shares as a result of the Reverse Stock Split were paid in cash. The Reverse Stock Split also affected the Company&#x2019;s outstanding stock options and warrants and resulted in the number of shares underlying such instruments being reduced and the exercise price being increased proportionately to the Reverse Stock Split ratio.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;All share and per share information in this report has been retroactively adjusted to give effect to the Reverse Stock Split for all periods presented, unless otherwise indicated. The total number of the Company&#x2019;s authorized shares of preferred stock was not affected by the foregoing. However, the total number of the Company's authorized common stock was decreased to 20,000,000.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:12pt;font-weight:400;line-height:112%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;In connection with the Reverse Stock Split, there was no change in the par value per share of $0.00001.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Preferred stock&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company&#x2019;s Restated Certificate of Incorporation authorizes the Company to issue 5,000,000 shares of preferred stock, $0.00001 par value, all of which is undesignated.  No shares were issued and outstanding at March&#160;31, 2023 and December&#160;31, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Demand registration rights&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;In conjunction with a private placement, on June 25, 2019, the Company entered into a registration rights agreement (the "Registration Rights Agreement") with Innovatus, Innovatus Life Science Offshore Fund I, LP and Innovatus Life Sciences Offshore Fund I-A, LP (collectively, the "Innovatus Investors") pursuant to which the Company agreed to register for resale the shares held by the Innovatus Investors (the &#x201c;Shares&#x201d;) under certain circumstances.&#160;Under the Registration Rights Agreement, in the event that the Company receives a written request &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;from the Innovatus Investors that the Company file with the SEC a registration statement covering the resale of all of the Shares, the Company shall promptly but no later than 120 days after the date of such request prepare and file with the SEC such registration statement.&#160;The Innovatus Investors have agreed to use best efforts not to make such a request, including by effecting any planned sales of Shares under Rule 144 under the Securities Act. The Company has agreed to use commercially reasonable efforts to cause such registration statement to become effective and to keep such registration statement effective until the date the Shares covered by such registration statement have been sold or may be resold pursuant to Rule 144 without restriction.&#160;The Company has agreed to be responsible for all fees and expenses incurred in connection with the registration of the Shares.  The Company has granted the Innovatus Investors customary indemnification rights in connection with the registration statement. The Innovatus Investors have also granted the Company customary indemnification rights in connection with the registration statement.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Incidental registration rights&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If the Company proposes to file a registration statement in connection with a public offering of its common stock, subject to certain exceptions, the holders of registrable shares are entitled to notice of registration and, subject to specified exceptions, including market conditions, the Company will be required, upon the holder&#x2019;s request, to register their then held registrable shares.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;"At-the-market&#x201d; program&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 23, 2020, the Company filed a shelf registration statement on Form S-3 (the "Shelf Registration Statement"), which was declared effective by the SEC on August 5, 2020. Under the Shelf Registration Statement, the Company is permitted to sell from time to time up to $200&#160;million of common stock, preferred stock, debt securities, warrants, or units comprised of any combination of these securities, for its own account in one or more offerings. On August 5, 2020, the Company filed with the SEC a prospectus supplement, for the sale and issuance of up to $25&#160;million of its common stock and entered into a sales agreement (the &#x201c;Sales Agreement&#x201d;) with Cowen and Company, LLC (&#x201c;Cowen&#x201d;) pursuant to which the Company may offer and sell shares of the Company&#x2019;s common stock to or through Cowen, acting as agent and/or principal, from time to time, in an &#x201c;at-the-market&#x201d; offering as defined in Rule 415 promulgated under the Securities Act, including without limitation sales made by means of ordinary brokers&#x2019; transactions on the NASDAQ Capital Market or otherwise at market prices prevailing at the time of sale, in block transactions, or as otherwise directed by the Company. Under the Sales Agreement, Cowen will use commercially reasonable efforts to sell the Common Stock from time to time, based upon instructions from the Company (including any price, time or size limits or other customary parameters or conditions the Company may impose). The Company will pay Cowen a commission of up to 3.0% of the gross sales proceeds of any Common Stock sold through Cowen under the Sales Agreement, and we have provided Cowen with customary indemnification rights. Any shares of Common Stock offered pursuant to the Sales Agreement will be offered and sold pursuant to the Shelf Registration Statement. The Company is not obligated to make any sales of Common Stock under the Sales Agreement. The offering of shares of Common Stock pursuant to the Sales Agreement will terminate upon the earlier of (i) the sale of all Common Stock subject to the Sales Agreement or (ii) termination of the Sales Agreement in accordance with its terms. As of the date hereof, the Company has not sold any shares under the Sales Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;2021 common stock offering&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On February 17, 2021, the Company closed an offering of its common stock under the Shelf Registration Statement and issued and sold 3,238,095 shares of its common stock at a public offering price of $26.25 per share (adjusted for the 1-for-25 reverse stock split), for aggregate net proceeds of approximately $79.6&#160;million. The Company intends to use the net proceeds of the offering of the shares for general corporate purposes.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Registered direct offering&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;On September 23, 2020, the Company and a healthcare-focused institutional investor entered into a subscription agreement, pursuant to which the Company sold (i)&#160;340,483 shares of its common stock and accompanying warrants to purchase up to 340,483 shares of common stock and (ii) pre-funded warrants  to purchase up to 379,718 shares of common stock and accompanying warrants to purchase up to 379,718 shares of common stock in a registered direct offering (in each case, adjusted for the 1-for-25 reverse stock split) for gross proceeds of approximately $17.3 million. The common stock (or pre-funded warrants in lieu thereof) and accompanying warrants were sold as units, each consisting of one share (or one pre-funded warrant to purchase &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;one share of common stock in lieu thereof) and one warrant to purchase one share of common stock, at an offering price of $23.95 per unit.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;The pre-funded warrants became exercisable immediately upon issuance, have an exercise price of $0.0025 per share and were exercisable until all of the pre-funded warrants were exercised in full. As of March 31, 2021, all pre-funded warrants were exercised. The warrants became exercisable immediately upon issuance, have an exercise price of $21.87 per share (adjusted for the 1-for-25 reverse stock split), and will expire five years from the date of issuance. The pre-funded warrants and the warrants each prohibit the holder from exercising any portion thereof to the extent that the holder would own more than 9.99% of the number of shares of common stock outstanding immediately after exercise. The number of shares issuable upon exercise of the warrants and pre-funded warrants and the exercise price of the warrants and pre-funded warrants is adjustable in the event of stock splits, stock dividends, combinations of shares and similar recapitalization transactions. The net proceeds to the Company from the offering, after deducting the placement agent's fees and other estimated offering expenses payable by the Company, was approximately $15.9 million.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Warrants &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has issued warrants to certain investors and consultants to purchase shares of the Company&#x2019;s common stock.  Based on the Company&#x2019;s assessment of the warrants granted in 2013 and 2014 relative to ASC 480, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Distinguishing Liabilities from Equity&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, such warrants are classified as equity. According to ASC 480, an entity shall classify as a liability any financial instrument, other than an outstanding share, that, at inception, both a)&#160;embodies an obligation to repurchase the issuer&#x2019;s equity shares, or is indexed to such obligation and b)&#160;requires or may require the issuer to settle the obligation by transferring assets. The warrants do not contain any provision that requires the Company to repurchase the shares and are not indexed to such an obligation. The warrants also do not require the Company to settle by transferring assets.  All of these warrants were exercisable immediately upon issuance. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;In connection with the September 23, 2020 registered direct offering, the Company issued 379,718 pre-funded common stock warrants with an exercise price of $0.0025 per share and an additional 720,201 common stock warrants with an exercise price of $21.87 per share (in each case, adjusted for the 1-for-25 reverse stock split). All of these warrants are exercisable for one share of common stock and were exercisable immediately. As of March&#160;31, 2023, approximately 240,000 of the common stock warrants have been exercised. The pre-funded warrants were exercisable indefinitely, while the additional warrants are exercisable for 5 years from the date of issuance. All pre-funded warrants were exercised. Based on the Company&#x2019;s assessment of the warrants granted relative to ASC 480, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%"&gt;Distinguishing Liabilities from Equity &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;and&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;ASC 815-40,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%"&gt;Accounting for Derivative Financial Instruments Indexed to, and Potentially Settled in, a Company&#x2019;s Own Stock, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;these warrants are classified as equity instruments. The fair value of the common stock warrants of approximately $10.2 million at the date of issuance was estimated using the Black-Scholes model which used the following inputs: term of 5 years, risk free rate of 0.28%, 0% dividend yield, volatility of 90.15%, an exercise price of $21.87 and share price of $20.83 per share based on the trading price of the Company&#x2019;s common stock (adjusted for the 1-for-25 reverse stock split).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Warrants to purchase 480,837 shares of common stock were outstanding as of March&#160;31, 2023 and  December&#160;31, 2022.  Outstanding common stock warrants are currently exercisable with varying exercise expiration dates from 2024 through 2025&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;  At March&#160;31, 2023 and December&#160;31, 2022, the weighted average warrant exercise price per share for common stock and the weighted average contractual life was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.742%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.456%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Common Stock&lt;br/&gt;Warrants*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&#160;Price&lt;br/&gt;Per&#160;Share*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Warrants&lt;br/&gt;Exercisable*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&#160;Price&lt;br/&gt;Per&#160;Share*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.73&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.48&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock option plans&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;  The 2015 Stock Incentive Plan ("2015 Plan") provides for an annual increase, to be added on the first day of each fiscal year, beginning with the fiscal year ending December 31, 2016 and continuing until, and including, the fiscal year ending December 31, 2025, equal to the lesser of (a) 3,000,000 shares of the Company's common stock, (b) 3% of the number of share of its common stock outstanding on the first day of such fiscal year and (c) an amount determined by the Company's board of directors.  Effective January 1, 2023, an additional 120,000 shares of the Company's common stock were added to the 2015 Plan under the terms of this provision (adjusted for the 1-for-25 reverse stock split), and at the 2021 Annual Meeting of Stockholders on May 24, 2021, the Company' Stockholders approved a First Amendment to the 2015 Plan to increase by 240,000 (adjusted for the 1-for-25 reverse stock split), the maximum number of shares of common stock available for issuance under the 2015 Plan ("Plan Amendment").&lt;/span&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%"&gt; A&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;s of March&#160;31, 2023, 315,063 shares of common stock were available for future issuance under the 2015 Plan (adjusted for the 1-for-25 reverse stock split).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;On April 29, 2019, the stockholders approved the Conformis, Inc. 2019 Sales Team Performance-Based Equity Incentive Plan ("2019 Sales Team Plan") for up to 3,000,000 shares of common stock available to grant to certain sales representatives or independent sales agents.  The 2019 Sales Team Plan provides for the grant of performance-based equity, including incentive stock options, nonstatutory stock options, stock appreciation rights, restricted stock awards, restricted stock units and other stock-based awards. Shares covered by awards under the 2019 Sales Team Plan that expire or are terminated, surrendered, or cancelled without having been fully exercised or are forfeited in whole or in part (including as the result of shares subject to such award being repurchased by us at the original issuance price pursuant to a contractual repurchase right) or that result in any shares not being issued, will again be available for the grant of awards under the 2019 Sales Team Plan.  Equity granted under the 2019 Sales Team Plan will expire ten years from the date of grant. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;As of March&#160;31, 2023, there were 94,481 shares of common stock available for future issuance under the 2019 Sales Team Plan (adjusted for the 1-for-25 reverse stock split).  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Activity under all stock option plans was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:60.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.797%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Options*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&#160;Price&lt;br/&gt;per&#160;Share*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value (in Thousands)*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,046)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total vested and exercisable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,947&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The total fair value of stock options that vested during the three months ended March&#160;31, 2023 was $0.0 million.  The weighted average remaining contractual term for the total stock options outstanding was 7.91 years as of March&#160;31, 2023.  The weighted average remaining contractual term for the total stock options vested and exercisable was 4.43 years as of March&#160;31, 2023.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Restricted common stock award activity under the plan was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.363%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Fair Value*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,136)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,014)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;225,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The total fair value of restricted common stock awards that vested during the three months ended March&#160;31, 2023 was $0.1 million.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Inducement Awards&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;In February 2020, the Company granted inducement awards outside of the 2015 Plan and 2019 Sales Team Plan (i) to the Company's Chief Financial Officer in the form of an option to purchase 5,000 shares of the Company's common stock with an exercise price per share equal to $24.50 and 5,000 restricted stock units (in each case, adjusted for the 1-for-25 reverse stock split).  The option and restricted stock unit awards were granted as inducements material to their commencement of employment with the Company in accordance with Nasdaq Listing Rule 5635(c)(4).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;In November 2021, the Company granted inducement awards outside of the 2015 Plan and 2019 Sales Team Plan to the Company's Vice President, Marketing in the form of 6,000 restricted stock units (adjusted for the 1-for-25 reverse stock split). The restricted stock unit award was granted as an inducement material to his commencement of employment with the Company in accordance with NASDAQ Listing Rule 5635(c)(4).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;In March 2022, the Company granted inducement awards outside of the 2015 Plan and 2019 Sales Team Plan to the Company's Chief Legal Officer and Corporate Secretary in the form of an option to purchase 18,000 shares of the Company's common stock with an exercise price per share equal to $15.25 and 18,000 restricted stock units (in each case, adjusted for the 1-for-25 reverse stock split). The option and restricted stock unit awards were granted as inducements material to her commencement of employment with the Company in accordance with NASDAQ Listing Rule 5635(c)(4).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;&#160;&#160;&#160;&#160;In April 2022, the Company granted inducement awards outside of the 2015 Plan and 2019 Sales Team Plan to the Company's Chief Operating Officer in the form of an option to purchase 17,000 shares of the Company's common stock with an exercise price per share equal to $16.00 and 17,000 restricted stock units (in each case, adjusted for the 1-for-25 reverse stock split). The option and restricted stock unit awards were granted as inducements material to his commencement of employment with the Company in accordance with NASDAQ Listing Rule 5635(c)(4).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-based compensation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company uses the Black-Scholes option pricing model to determine the fair value of stock options. The determination of the fair value of stock-based payment awards on the date of grant using a pricing model is affected by the value of the Company&#x2019;s common stock as well as assumptions regarding a number of complex and subjective variables. The valuation of the Company&#x2019;s common stock prior to its initial public offering was performed with the assistance of an independent third-party valuation firm using a methodology that includes various inputs including the Company&#x2019;s historical and projected financial results, peer company public data and market metrics, such as risk-free interest and discount rates. As the valuations included unobservable inputs that were primarily based on the Company&#x2019;s own assumptions, the inputs were considered level&#160;3 inputs within the fair value hierarchy.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The fair value of options at date of grant was estimated using the Black-Scholes option pricing model, based on the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.855%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.54%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.49%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Risk-free interest rate&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&#160;&#160;&#160;&#160;The risk-free interest rate is based on U.S. Treasury zero-coupon issues with remaining terms similar to the expected term on the options.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected term.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The expected term of stock options represents the period the stock options are expected to remain outstanding and is based on the &#x201c;SEC Shortcut Approach&#x201d; as defined in &#x201c;Share-Based Payment&#x201d;&#160;(SAB&#160;107) ASC 718-10-S99, &#x201c;Compensation-Stock Compensation-Overall-SEC Materials,&#x201d; which is the midpoint between the vesting date and the end of the contractual term. With certain stock option grants, the exercise price may exceed the fair value of the common stock. In these instances, the Company adjusts the expected term accordingly.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Dividend yield.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company has never declared or paid any cash dividends and does not plan to pay cash dividends in the foreseeable future, and, therefore, used an expected dividend yield of zero in the valuation model.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected volatility.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Expected volatility measures the amount that a stock price has fluctuated or is expected to fluctuate during a period. The Company estimates volatility based on the historical volatility of the Company's stock.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Forfeitures.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company recognizes forfeitures as they occur.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Stock-based compensation expense was $0.6&#160;million and $0.7 million for the three months ended March&#160;31, 2023 and 2022, respectively. Stock-based compensation expense was calculated based on awards ultimately expected to vest. To date, the amount of stock-based compensation capitalized as part of inventory was not material.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:7pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The following is a summary of stock-based compensation expense (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.586%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.586%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.209%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;As of March&#160;31, 2023, the Company had $1.0 million of total unrecognized compensation expense for options that will be recognized over a weighted average period of 4.12 years.  As of March&#160;31, 2023, the Company had $3.2 million of total unrecognized compensation expense for restricted awards that will be recognized over a weighted average period of 1.91 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock>
    <cfms:CumulativeCommonStockDividendsDeclared
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3Mg_eb1e7218-5d1e-4014-8b25-688fefebd5ab"
      unitRef="usd">0</cfms:CumulativeCommonStockDividendsDeclared>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="if00cfbd94a94441084f22cefd0c89a6b_I20210329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzU0NA_e0207043-6fc9-49c5-85e1-3e2dc8c59786"
      unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i58975524a6794948bcd817af88edb0a0_I20210330"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzU1MA_4024599a-8b2d-4d9a-8e9d-3d82c3c04ae8"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NDg3NzkxMTA3MDU_78fadca2-1cd8-4f06-90b8-47a14a9fe672"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i215b99d1434d464db3221425af3c9a01_I20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NDg3NzkxMTA3MTc_5438455c-a8ea-4ba7-b367-037ff5528615"
      unitRef="shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i215b99d1434d464db3221425af3c9a01_I20221026"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NDg3NzkxMTA3Mjk_8c6bb776-d467-4316-998b-9134fd7cfc05"
      unitRef="usdPerShare">0.00001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI2OTU_a2277445-a2f6-402a-8d41-c97a3e64483c"
      unitRef="shares">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3MjU_f597c4dc-284b-4b25-ae75-be4e706493f4"
      unitRef="usdPerShare">0.00001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NzA_1c68caba-bc12-4da4-bdea-aa609d6db959"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NzA_52c5e868-4a33-46fa-8c91-0b890fcdf0a2"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NzA_754bd17b-b5ae-4a17-a72f-daf755dc696a"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI3NzA_f89e616f-ca32-4a1d-8863-0e2d07b5d670"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <cfms:MaximumDaysToRegisterForResaleSharesHeldByInvestors
      contextRef="if30b9020b85b438cac931d3ca40015fc_D20190625-20190625"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzM1Nzk_d24161ce-30b0-431e-96b0-2434862faff5">P120D</cfms:MaximumDaysToRegisterForResaleSharesHeldByInvestors>
    <cfms:SaleofStockEquityIssuableAmount
      contextRef="ic2aa46f1198242ccbaf2d785292601fa_D20200323-20200323"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzY2MTM_e916b222-b640-470e-afda-dff75773665f"
      unitRef="usd">200000000</cfms:SaleofStockEquityIssuableAmount>
    <cfms:SaleofStockEquityIssuableAmount
      contextRef="iee07769e778b4b4b9d9054e3e006fbe3_D20200805-20200805"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzY4OTI_8c4e12cf-11df-4a34-a2e4-7ac27b669575"
      unitRef="usd">25000000</cfms:SaleofStockEquityIssuableAmount>
    <cfms:SaleOfStockBrokerCommissionsPercent
      contextRef="iee07769e778b4b4b9d9054e3e006fbe3_D20200805-20200805"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4Xzc3OTQ_95ecec65-9e50-4a9e-983c-df624a9afe8e"
      unitRef="number">0.030</cfms:SaleOfStockBrokerCommissionsPercent>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="ied081ce1558c4bc2b23be4658cb79016_D20210217-20210217"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEwOTMy_35d11535-3eb5-445a-b9f4-bbf89999efae"
      unitRef="shares">3238095</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i9e6721b9b46a469fba86fccff5123c0a_I20210217"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEwOTky_40547fbb-4d4e-489d-a8d7-b279e70d4fac"
      unitRef="usdPerShare">26.25</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="ied081ce1558c4bc2b23be4658cb79016_D20210217-20210217"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExMDUw_d2c2baac-2532-484f-8b56-76d1fc7dbf41"
      unitRef="usd">79600000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i99f7bda5ec994b5abe9a6b140a3c981e_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExMzUx_f7f96585-0353-46b7-9344-20973a8829e3"
      unitRef="shares">340483</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i99f7bda5ec994b5abe9a6b140a3c981e_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExNDI1_706bbe32-4a1a-4919-ac75-7b128fec31e3"
      unitRef="shares">340483</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i2ec6b140bb9f41d184e77b7bdf6718fc_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExNDk5_b177b3fa-e82c-44e2-8308-5bf5aad07a93"
      unitRef="shares">379718</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i2ec6b140bb9f41d184e77b7bdf6718fc_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExNTY5_50252cbe-4aff-45f5-b3ee-bd337a0a592e"
      unitRef="shares">379718</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <cfms:SaleofStockConsiderationReceivedonTransactionGross
      contextRef="i2ec6b140bb9f41d184e77b7bdf6718fc_D20200923-20200923"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExNjYz_b508b5f0-177a-4af8-9143-13c8fd96358c"
      unitRef="usd">17300000</cfms:SaleofStockConsiderationReceivedonTransactionGross>
    <cfms:NumberOfCommonStockSharesAndWarrantsPerUnit
      contextRef="ida665b4ede254fb7b1cc0677d6b65204_I20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExNzkw_875b1150-fa68-4f52-a3f4-69ed781e64c3"
      unitRef="shares">1</cfms:NumberOfCommonStockSharesAndWarrantsPerUnit>
    <cfms:NumberOfCommonStockSharesAndWarrantsPerUnit
      contextRef="if9c5c2f88ee14e71b0162aaac10b8849_I20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExODAz_8e86b153-1931-40c8-ac4d-5fa6daf38fec"
      unitRef="shares">1</cfms:NumberOfCommonStockSharesAndWarrantsPerUnit>
    <cfms:NumberOfCommonStockSharesAndWarrantsPerUnit
      contextRef="ida665b4ede254fb7b1cc0677d6b65204_I20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExODgz_b073bb57-82b8-4144-9f9b-a3951c288eeb"
      unitRef="shares">1</cfms:NumberOfCommonStockSharesAndWarrantsPerUnit>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ida665b4ede254fb7b1cc0677d6b65204_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzExOTU2_fbcff5df-1d1c-419b-a42b-5d7a6b790084"
      unitRef="usdPerShare">23.95</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="if9c5c2f88ee14e71b0162aaac10b8849_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEyMDY3_05a80fa5-c181-4180-9a5b-b5503e88ff89"
      unitRef="usdPerShare">0.0025</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i342a272274cd43fe8b636c0fbb02a38f_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEyMzA5_0a3890a4-dce6-4141-b6db-d257290ecf34"
      unitRef="usdPerShare">21.87</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <cfms:ClassOfWarrantOrRightExpirationPeriod
      contextRef="i1f1517e1721440a6a9d8f15a237d95fa_D20200923-20200923"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEyMzM5_8b392c3d-4586-4ad4-a15b-3970e61e87ef">P5Y</cfms:ClassOfWarrantOrRightExpirationPeriod>
    <cfms:ClassOfWarrantOrRightMaximumPercentageOfCommonStockOwnedAfterExercise
      contextRef="i99f7bda5ec994b5abe9a6b140a3c981e_D20200923-20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEyNTIx_7015de15-ce2a-4071-814d-668206ac5836"
      unitRef="number">0.0999</cfms:ClassOfWarrantOrRightMaximumPercentageOfCommonStockOwnedAfterExercise>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="i99f7bda5ec994b5abe9a6b140a3c981e_D20200923-20200923"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzEzMDUy_c74482a8-0059-4aa0-9a5c-e938a6a395ec"
      unitRef="usd">15900000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i7038bb8e535445d2b61119a1550257bc_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0MDc3_796b1fc3-09c7-46b4-aa45-940de0f1cbec"
      unitRef="shares">379718</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ibc89fb8dd3cd44f7ae1ad853d30418c5_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0MTM5_0ada979a-2226-47c1-9a88-82274d703629"
      unitRef="usdPerShare">0.0025</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsGrantedDuringPeriod
      contextRef="i7038bb8e535445d2b61119a1550257bc_D20200923-20200923"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0MTcw_9f111170-2545-47e4-bbeb-74590e5d5c0a"
      unitRef="shares">720201</cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsGrantedDuringPeriod>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i342a272274cd43fe8b636c0fbb02a38f_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0MjIx_c827c042-7746-4532-b736-89bacfeb2b80"
      unitRef="usdPerShare">21.87</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsExercisedDuringPeriod
      contextRef="if6683e68d4db472f9657643e4ecaaf7b_D20200924-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0MzYx_27983cf7-f61a-4259-88a8-aeea9fe43b41"
      unitRef="shares">240000</cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsExercisedDuringPeriod>
    <us-gaap:WarrantsAndRightsOutstandingTerm
      contextRef="ibc89fb8dd3cd44f7ae1ad853d30418c5_I20200923"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0NTE5_c0a8e548-a751-4b71-a2af-3b6fbd8d4fc5">P5Y</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="ibc89fb8dd3cd44f7ae1ad853d30418c5_I20200923"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE0OTQ4_73f51581-da3f-4327-8c9a-18de93e91a26"
      unitRef="usd">10200000</us-gaap:WarrantsAndRightsOutstanding>
    <cfms:WarrantsandRightsOutstandingMeasurementInputTerm
      contextRef="i6329c1fd70594e85bb15e6609f4dfdf9_D20200923-20200923"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MDYw_6e991c79-808c-40e5-a9f4-a894b508a846">P5Y</cfms:WarrantsandRightsOutstandingMeasurementInputTerm>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="ie187a0fb6e2244f1a90b008553d9ef2a_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MDgy_fd4c0c9d-16c4-417c-9f72-553b99ceb7b1"
      unitRef="number">0.0028</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i431f451859f943faa349fb7c2f2f8da9_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MDg2_0f277a37-6ee0-46bd-8507-9018067d4452"
      unitRef="number">0</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i06e1f7cc91424feb86164e8f6fbc86c2_I20200923"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MTE5_6dc541b0-df48-4096-80d8-1c73a7c9018c"
      unitRef="number">0.9015</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="ib6984455c9824ef68d06f8045b25f824_I20200923"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MTQ0_255fb380-79a3-4563-9335-b591c79bdbf3"
      unitRef="usdPerShare">21.87</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i3796d6d01a0a423898bf56a2ce13801c_I20200923"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MTY2_a11034a4-ebd2-4b80-8d05-959baf7f4e89"
      unitRef="usdPerShare">20.83</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ie809259c5a57451b8d3ba6f0bb59cea0_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MjYw_652f9098-9b89-4125-a7a1-acd1cce1377b"
      unitRef="shares">480837</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ie5bdd95a58d44754a6f4004025f5add8_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1MjYw_dac56be3-fc64-4eb1-b156-d272da669d07"
      unitRef="shares">480837</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTQ4_7f9ec7eb-ff88-46ae-8f54-28f3d05707fe">At March&#160;31, 2023 and December&#160;31, 2022, the weighted average warrant exercise price per share for common stock and the weighted average contractual life was as follows:&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.742%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.456%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of Common Stock&lt;br/&gt;Warrants*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&#160;Price&lt;br/&gt;Per&#160;Share*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Remaining Contractual Life&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Warrants&lt;br/&gt;Exercisable*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&#160;Price&lt;br/&gt;Per&#160;Share*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.73&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.48&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;480,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ie809259c5a57451b8d3ba6f0bb59cea0_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE3LTItMS0xLTU0Njk2_9176f58c-2187-40fc-8388-c9254947091f"
      unitRef="shares">480837</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ie809259c5a57451b8d3ba6f0bb59cea0_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE3LTYtMS0xLTU0Njk2_0d93f9dc-04d1-4c90-adcb-fe704bfa93eb"
      unitRef="usdPerShare">22.22</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <cfms:ClassOfWarrantOrRightWeightedAverageRemainingContractualLife
      contextRef="i5f5714d516bd44d9b73bad2bfdc46f77_D20220101-20221231"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE3LTgtMS0xLTU0Njk2_0a5257fc-efe7-4fe3-b8d1-00db10b7420f">P2Y8M23D</cfms:ClassOfWarrantOrRightWeightedAverageRemainingContractualLife>
    <cfms:ClassofWarrantorRightNumberofSecuritiesAvailabletoCallbyWarrantsorRights
      contextRef="ie809259c5a57451b8d3ba6f0bb59cea0_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE3LTEwLTEtMS01NDY5Ng_cd97be46-a64a-483f-b0a5-fe08f01b857d"
      unitRef="shares">480837</cfms:ClassofWarrantorRightNumberofSecuritiesAvailabletoCallbyWarrantsorRights>
    <cfms:ClassofWarrantorRightPriceofWarrantsorRightsOutstanding
      contextRef="ie809259c5a57451b8d3ba6f0bb59cea0_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE3LTEyLTEtMS01NDY5Ng_5c9ced04-564a-4b75-8d4e-13c7b4938351"
      unitRef="usdPerShare">22.22</cfms:ClassofWarrantorRightPriceofWarrantsorRightsOutstanding>
    <cfms:ClassofWarrantorRightNumberofSecuritiesCalledbyWarrantsorRightsGrantedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE4LTItMS0xLTU0Njk2_fc73f50c-082c-479c-b8c9-758d9c7db639"
      unitRef="shares">0</cfms:ClassofWarrantorRightNumberofSecuritiesCalledbyWarrantsorRightsGrantedDuringPeriod>
    <cfms:ClassofWarrantorRightExercisePriceofWarrantsorRightsGrantedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE4LTYtMS0xLTU0Njk2_d207043f-5fb5-43a9-ae7f-4acb5cd57e8b"
      unitRef="usdPerShare">0</cfms:ClassofWarrantorRightExercisePriceofWarrantsorRightsGrantedDuringPeriod>
    <cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsGrantedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE4LTEwLTEtMS01NDY5Ng_91951bf8-1f59-4c08-b547-dcbf9168ccba"
      unitRef="shares">0</cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsGrantedDuringPeriod>
    <cfms:ClassofWarrantorRightPriceofWarrantsorRightsGrantedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzE4LTEyLTEtMS01NDY5Ng_9950d64b-3f5c-446e-866f-d17d7276348f"
      unitRef="usdPerShare">0</cfms:ClassofWarrantorRightPriceofWarrantsorRightsGrantedDuringPeriod>
    <cfms:ClassofWarrantorRightNumberofSecuritiesCalledbyWarrantsorRightsExercisedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIwLTItMS0xLTU0Njk2_83d707f3-1872-4e2b-b845-a4a0910bafcb"
      unitRef="shares">0</cfms:ClassofWarrantorRightNumberofSecuritiesCalledbyWarrantsorRightsExercisedDuringPeriod>
    <cfms:ClassofWarrantorRightExercisePriceofWarrantsorRightsExercisedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIwLTYtMS0xLTU0Njk2_efc74908-f9a5-49b7-bf6b-144cdb706ffd"
      unitRef="usdPerShare">0</cfms:ClassofWarrantorRightExercisePriceofWarrantsorRightsExercisedDuringPeriod>
    <cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsExercisedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIwLTEwLTEtMS01NDY5Ng_b2924cab-255d-45fd-b005-0ce3f29e666c"
      unitRef="shares">0</cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsExercisedDuringPeriod>
    <cfms:ClassofWarrantorRightPriceofWarrantsorRightsExercisedDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIwLTEyLTEtMS01NDY5Ng_dfdd08e6-d15c-475a-b804-f0c101df24f8"
      unitRef="usdPerShare">0</cfms:ClassofWarrantorRightPriceofWarrantsorRightsExercisedDuringPeriod>
    <cfms:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRightsCancelledOrExpiredDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIxLTItMS0xLTU0Njk2_50489d60-dc17-4d6a-9589-6ec3f9034496"
      unitRef="shares">0</cfms:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRightsCancelledOrExpiredDuringPeriod>
    <cfms:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRightsCancelledOrExpiredDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIxLTYtMS0xLTU0Njk2_3ef085cf-6849-4cd1-baf5-d9286991a7cb"
      unitRef="usdPerShare">0</cfms:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRightsCancelledOrExpiredDuringPeriod>
    <cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsCancelledorExpiredDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIxLTEwLTEtMS01NDY5Ng_21e8cf25-aa7e-454f-9503-5aae879162d4"
      unitRef="shares">0</cfms:ClassofWarrantorRightNumberofExercisableSecuritiesCalledbyWarrantsorRightsCancelledorExpiredDuringPeriod>
    <cfms:ClassofWarrantorRightPriceofWarrantsorRightsCancelledorExpiredDuringPeriod
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIxLTEyLTEtMS01NDY5Ng_f8f3c103-7795-4a7a-a263-f39a355a0c96"
      unitRef="usdPerShare">0</cfms:ClassofWarrantorRightPriceofWarrantsorRightsCancelledorExpiredDuringPeriod>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ie5bdd95a58d44754a6f4004025f5add8_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIyLTItMS0xLTU0Njk2_81a42700-e30d-4deb-835a-0cc91704bc0d"
      unitRef="shares">480837</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ie5bdd95a58d44754a6f4004025f5add8_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIyLTYtMS0xLTU0Njk2_df2c9316-f67f-42a1-a176-174ae0d110a9"
      unitRef="usdPerShare">22.22</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <cfms:ClassOfWarrantOrRightWeightedAverageRemainingContractualLife
      contextRef="ic8a73b53ae5b412c9742deb2f11505c2_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIyLTgtMS0xLTU0Njk2_a0d50ec8-3053-4c93-ba61-796ad7c584e1">P2Y5M23D</cfms:ClassOfWarrantOrRightWeightedAverageRemainingContractualLife>
    <cfms:ClassofWarrantorRightNumberofSecuritiesAvailabletoCallbyWarrantsorRights
      contextRef="ie5bdd95a58d44754a6f4004025f5add8_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIyLTEwLTEtMS01NDY5Ng_56b62ad0-80a0-4711-bcb1-928a71789e09"
      unitRef="shares">480837</cfms:ClassofWarrantorRightNumberofSecuritiesAvailabletoCallbyWarrantsorRights>
    <cfms:ClassofWarrantorRightPriceofWarrantsorRightsOutstanding
      contextRef="ie5bdd95a58d44754a6f4004025f5add8_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTplZTcyNzEyMDc3MjA0ZjgwYWEzYTJmNzQ5NjdmMmZmMy90YWJsZXJhbmdlOmVlNzI3MTIwNzcyMDRmODBhYTNhMmY3NDk2N2YyZmYzXzIyLTEyLTEtMS01NDY5Ng_967d08d6-1a7c-4c00-84dc-c8e58234507f"
      unitRef="usdPerShare">22.22</cfms:ClassofWarrantorRightPriceofWarrantsorRightsOutstanding>
    <cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualAmount
      contextRef="i9eb6221e8c5b45afb084be6ca7254c0d_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1OTA0_f37a890f-07b5-41cc-8cd8-1a621025eb82"
      unitRef="shares">3000000</cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualAmount>
    <cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualPercentage
      contextRef="i9eb6221e8c5b45afb084be6ca7254c0d_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE1OTQ5_a2524ef9-5035-4f57-acbe-e27b120f7847"
      unitRef="number">0.03</cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualPercentage>
    <cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualAmount
      contextRef="i2ad6a5018504444ca4e3c289063437e2_I20230101"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE2MTUy_cbac0637-b88d-4e73-a55a-21a1fd98639a"
      unitRef="shares">120000</cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualAmount>
    <cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualAmount
      contextRef="if04d6fcaaafa4e6ca6bfb900c691f25a_I20210524"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE2NDA0_cf1bd903-56ea-490c-8932-e2966dae1afa"
      unitRef="shares">240000</cfms:ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalSharesAuthorizedMaximumAnnualAmount>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i9eb6221e8c5b45afb084be6ca7254c0d_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE2NTI2_45dadab6-dbbf-4a00-a4d1-7e9c4e502861"
      unitRef="shares">315063</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i89379c75bb6a45eaa240fb5fb8819ae0_I20190429"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE2NzY3_205d7fce-6cb8-4f3d-b014-73e460c3e1f0"
      unitRef="shares">3000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i3e38f5ec10d24f81a460bf1c89194e5a_D20190429-20190429"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE3NjQ4_a7f09e56-9d0a-48d3-b2a7-55d7b767b887">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i028eda541cd844d882dba9d55972e9b8_I20230331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE3Njk5_190002e2-42e0-4d3f-ae7c-b7547ff300d7"
      unitRef="shares">94481</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTQ5_99742d16-cce1-4163-9a17-a933575f1b4e">Activity under all stock option plans was as follows:&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:60.720%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.797%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of&lt;br/&gt;Options*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&#160;Price&lt;br/&gt;per&#160;Share*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value (in Thousands)*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;175,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,046)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cancelled/Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total vested and exercisable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,947&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i6d899932301f489085e11736d22bf799_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzEzLTItMS0xLTU0Njk2_3000f4fb-3f43-400b-880e-9ab8ea89dc49"
      unitRef="shares">175783</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i6d899932301f489085e11736d22bf799_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzEzLTQtMS0xLTU0Njk2_90ba1618-02cb-40a6-9773-e3d50e4d9c2d"
      unitRef="usdPerShare">44.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE0LTItMS0xLTU0Njk2_2aaf9a02-7108-4c5e-9d59-6b20dedf0911"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE0LTQtMS0xLTU0Njk2_9ae90763-6897-419e-8c0d-2a8c9e1dcf33"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE2LTItMS0xLTU0Njk2_82f06726-df7f-4c05-a20a-7d6798dc7fd3"
      unitRef="shares">2046</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE2LTQtMS0xLTU0Njk2_329fa266-fd51-428c-9949-74d8c5eba49b"
      unitRef="usdPerShare">158.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE3LTItMS0xLTU0Njk2_17a192fe-cd80-49b1-899a-2526b9bbbb91"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE3LTQtMS0xLTU0Njk2_e9682760-5da2-4917-915c-4737448a76f2"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE4LTItMS0xLTU0Njk2_ba374fdb-4f9f-4197-9ee8-c758e9bd3a5f"
      unitRef="shares">173737</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE4LTQtMS0xLTU0Njk2_7d11485f-9a18-485c-b4f4-58213044eaf2"
      unitRef="usdPerShare">43.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzE4LTYtMS0xLTU0Njk2_dce4fc53-d334-4f04-8503-6272ae241bb9"
      unitRef="usd">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzIwLTItMS0xLTU0Njk2_1dea0973-a7f3-4fc5-b094-86ffb75c7e72"
      unitRef="shares">43947</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzIwLTQtMS0xLTU0Njk2_67c23767-4171-46dd-9fca-6e031e2b8edc"
      unitRef="usdPerShare">136.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo4NGE2YTI2MDI3YzY0MmU5Yjg2MjFiOWVjNzNlMGUyMS90YWJsZXJhbmdlOjg0YTZhMjYwMjdjNjQyZTliODYyMWI5ZWM3M2UwZTIxXzIwLTYtMS0xLTU0Njk2_de058f7d-f274-4d76-897f-5fea1c061fff"
      unitRef="usd">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE3OTQ0_743e87d3-a765-44d3-bbe2-820a45f09912"
      unitRef="usd">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE4MDQx_dc5bd646-b202-4086-b288-3e2873b6f597">P7Y10M28D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE4MTU4_3233a031-7027-408e-a01d-7df05eb67612">P4Y5M4D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTUy_adb9b676-0961-48f1-b396-343cc0aab881">Restricted common stock award activity under the plan was as follows:&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.363%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.564%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number of Shares*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Fair Value*&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237,966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.77&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,136)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,014)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.39&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;225,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Adjusted for the 1-for-25 reverse stock split&lt;/span&gt;&lt;/div&gt;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="icffd611d32484a2d86e116a190232e25_I20221231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzEtMi0xLTEtNTQ2OTY_f442caa1-4671-4075-88c6-1aa53cb16dcc"
      unitRef="shares">237966</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="icffd611d32484a2d86e116a190232e25_I20221231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzEtNC0xLTEtNTQ2OTY_d3ed7083-4413-41d3-b688-9a4497014e2b"
      unitRef="usdPerShare">18.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzItMi0xLTEtNTQ2OTY_7d623a86-8347-428b-bc98-cb9f99530257"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzItNC0xLTEtNTQ2OTY_6cde35ef-d823-44d3-ac1f-e2a052c47cb0"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzMtMi0xLTEtNTQ2OTY_b69a7929-34b4-4b84-b2b8-859d3d8260a4"
      unitRef="shares">4136</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzMtNC0xLTEtNTQ2OTY_80a62566-2a63-47cb-9c77-54a728f9338c"
      unitRef="usdPerShare">27.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzQtMi0xLTEtNTQ2OTY_9ab165e4-8786-47b5-b0b5-a80490b09435"
      unitRef="shares">8014</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzQtNC0xLTEtNTQ2OTY_bd29b4d5-cd35-4824-8766-60de72e01af8"
      unitRef="usdPerShare">18.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i78de83c331f2425c9221bd142f87ddb9_I20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzUtMi0xLTEtNTQ2OTY_c3c6e399-f921-4131-af20-1891dac34166"
      unitRef="shares">225816</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i78de83c331f2425c9221bd142f87ddb9_I20230331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo0ZWQ2NWVhYWM0NjM0YTRlYjRkZDA4MzM4MzZmNTA3ZC90YWJsZXJhbmdlOjRlZDY1ZWFhYzQ2MzRhNGViNGRkMDgzMzgzNmY1MDdkXzUtNC0xLTEtNTQ2OTY_6ddf86f4-30e2-48cd-882c-f04c4cfbe26d"
      unitRef="usdPerShare">18.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE4MzQ4_80122ae9-18dc-44ce-ba42-19a65723eda1"
      unitRef="usd">100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i7be221bdd0634fe8968534b9c0fe6441_D20200201-20200229"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE4NTg0_46ee6773-61ee-4a45-b49c-eee27fadf237"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i7be221bdd0634fe8968534b9c0fe6441_D20200201-20200229"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE4NjY2_bc99564d-763a-4ea5-bdb3-5fe2b21995e6"
      unitRef="usdPerShare">24.50</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i54dd194b14c34d8385c6b528a3e937d6_D20200201-20200229"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzE4Njcz_2cf7ce25-0847-40f1-a8b4-4408fbb4cc00"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i022243edc25243769ad4ed484c4b20e8_D20211101-20211130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIwMTQw_08114661-d242-4f1f-a34c-31c68d2495da"
      unitRef="shares">6000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="idd9d71a9c9e84060a3b73daccd9fc48b_D20220301-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIwNTQy_cfe159bd-7eec-46d0-b84c-34bbf77810ca"
      unitRef="shares">18000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="idd9d71a9c9e84060a3b73daccd9fc48b_D20220301-20220331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIwNjI0_6c28a5d9-bd7f-46cb-b9a9-c1a4d79a7f8e"
      unitRef="usdPerShare">15.25</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0f8e39fa59414b4a87f2435358793693_D20220301-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIwNjMx_0bc07ff0-b7b9-4835-8a49-7ec7f1bf7b2e"
      unitRef="shares">18000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ib6c8488c858e48b5b7ace35e415a41b3_D20220401-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIxMDI1_f3060b7e-b663-4e01-86a7-d0100cf1155c"
      unitRef="shares">17000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="ib6c8488c858e48b5b7ace35e415a41b3_D20220401-20220430"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIxMTA3_d53a3f96-5f90-464e-9873-b18fb14c0617"
      unitRef="usdPerShare">16.00</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0f1e0e5132b54f19a71ee72c1d908d5c_D20220401-20220430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIxMTE0_54d3765a-baed-4c40-acd8-ca3a25a92912"
      unitRef="shares">17000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTMy_edae94a3-4b22-4d60-8f54-16cdb1118a20">The fair value of options at date of grant was estimated using the Black-Scholes option pricing model, based on the following assumptions:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:97.953%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:67.855%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.676%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.546%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.54%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.00&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.49%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzItMi0xLTEtNTQ2OTY_816cda80-2ca9-48dc-83eb-78de05ee3ba0"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzItNC0xLTEtNTQ2OTY_d91137f7-90d9-4c77-9ac9-a9a9a3a4fd14"
      unitRef="number">0.0254</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzMtMi0xLTEtNTQ2OTY_3d43edd8-7d21-4ca8-b892-5425403af649">P0Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzMtNC0xLTEtNTQ2OTY_30395a4f-34aa-4735-a032-3d5c28ed982f">P8Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzQtMi0xLTEtNTQ2OTY_7c3454db-4146-4463-aa44-882973b0100b"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzQtNC0xLTEtNTQ2OTY_43f8ef10-e527-41cf-b074-520d6c95dec8"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzUtMi0xLTEtNTQ2OTY_9df726e0-6151-41be-9b28-2270aca16315"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZToyNDNhYWM0MWM0MWQ0MzU3YjcxM2VlN2QzYTFjZjJhOC90YWJsZXJhbmdlOjI0M2FhYzQxYzQxZDQzNTdiNzEzZWU3ZDNhMWNmMmE4XzUtNC0xLTEtNTQ2OTY_1bb26a8e-b426-47ca-a1b1-253aa7afc990"
      unitRef="number">0.8749</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIzODE1_6930b202-d78f-446d-a2a5-a0f313c61fb5"
      unitRef="usd">600000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzIzODIy_7eaafd28-08d2-4eae-9ba3-1631f9658609"
      unitRef="usd">700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTQ1_2bd45c86-ab20-4be9-82aa-33968e7cd8f7">The following is a summary of stock-based compensation expense (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.982%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.711%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.586%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.586%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.209%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;136&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;176&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;736&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1b126045c0394cebba09215eb34b29d7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzItMi0xLTEtNTQ2OTY_7e78b4da-1fb1-4549-892a-50b2d0712f5c"
      unitRef="usd">14000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i642107941f1648e6ac5d4da6b4af52bc_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzItNC0xLTEtNTQ2OTY_07443144-d4ad-496e-8255-6c034b10e784"
      unitRef="usd">-35000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic5d5386168d0446ca4b8bae61d3415cd_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzMtMi0xLTEtNTQ2OTY_17d5e36f-12e2-471e-9f8a-93ea9294335a"
      unitRef="usd">136000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5a7ab2aec24547748a4b023f8c8023d5_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzMtNC0xLTEtNTQ2OTY_96e23e65-ed99-403f-a0f4-4f4728d19e4c"
      unitRef="usd">176000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia6298e5d3e834b999e26caf17466fde7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzQtMi0xLTEtNTQ2OTY_e0490d76-f1dc-415f-8927-47506086158b"
      unitRef="usd">71000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="if001fdf021074954b26b4d093e549962_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzQtNC0xLTEtNTQ2OTY_60c6cc92-c8b0-4343-a760-f35d9672f6ba"
      unitRef="usd">138000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2ae4d862ecd549a5b17735789646ab05_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzUtMi0xLTEtNTQ2OTY_e5f68f90-5f06-4e9f-a309-45d3fe980fb6"
      unitRef="usd">400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia63a8368f0de4f56bf9d32c093fa3804_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzUtNC0xLTEtNTQ2OTY_f31ae19d-39d0-4132-9f05-6c1da976a94c"
      unitRef="usd">457000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzYtMi0xLTEtNTQ2OTY_f8842615-61ff-4c78-9480-55a17b466216"
      unitRef="usd">621000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3d03b924dddb4d74bc7c64e4fd65c30e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90YWJsZTo1ODVkZWQwMWUxNDM0YzMyOWE5ZDQyMGNiNTNhY2EwOS90YWJsZXJhbmdlOjU4NWRlZDAxZTE0MzRjMzI5YTlkNDIwY2I1M2FjYTA5XzYtNC0xLTEtNTQ2OTY_8a8d045c-b030-4ab0-a9e4-64b20b8af464"
      unitRef="usd">736000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="id81d256c14b84662bf26b39cba0df36b_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0MjQ0_058df905-f301-4172-b207-15fac3af7d0f"
      unitRef="usd">1000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i24b92414c02e4671b3db3cb36faa64af_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0MzYw_ce34ac0f-557c-4ad7-8c10-4e9907d00ca7">P4Y1M13D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i78de83c331f2425c9221bd142f87ddb9_I20230331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0Mzkx_e3d8b1f6-1b7f-48a0-bc71-a27429255ca0"
      unitRef="usd">3200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i4d2e25e5ad2e44e88e41e111072a4387_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMDAvZnJhZzoyNzdiY2NiNzg1NTg0OWQxYmIwZmMxYzdjODYxMGIxOC90ZXh0cmVnaW9uOjI3N2JjY2I3ODU1ODQ5ZDFiYjBmYzFjN2M4NjEwYjE4XzI0NTE3_88116e05-ff7b-4ede-9422-df645bae2576">P1Y10M28D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90ZXh0cmVnaW9uOmIyNjNjYjQwZTE3ZjQwNDZiZjRlYzQ5NjMyMzRkYTE2Xzc3MA_3162432b-8149-4daa-8bd8-9fb4ffe9b69d">&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Note K&#x2014;Segment and Geographic Data &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;The Company operates as one reportable segment as described in Note&#160;B to the Consolidated Financial Statements. The countries in which the Company has local revenue generating operations have been combined into the following geographic areas: the United States (including Puerto Rico), Germany and the rest of world, which consists of Europe predominately (including the United Kingdom) and other foreign countries. Sales are attributable to a geographic area based upon the customer&#x2019;s country of domicile and distributors managed by that respective country.  Product revenue is also presented by knee and hip which are the Company's major product lines. Net property, plant and equipment are based upon physical location of the assets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Geographic and product category information consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Knee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hip&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Knee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hip&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$9,766&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$801&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10,567&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$11,939&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$776&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$12,715&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;826&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;826&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,177&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,177&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rest of world&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,298&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,298&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;992&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;992&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$11,890&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$801&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$12,691&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$14,108&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$776&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$14,884&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;              Geographic information consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.709%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.831%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rest of World&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90ZXh0cmVnaW9uOmIyNjNjYjQwZTE3ZjQwNDZiZjRlYzQ5NjMyMzRkYTE2XzY5_a9859c7f-c6a9-494c-8e4e-4052e0de327d"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90ZXh0cmVnaW9uOmIyNjNjYjQwZTE3ZjQwNDZiZjRlYzQ5NjMyMzRkYTE2Xzc2MA_5991399e-fe7b-49f9-81c5-981587e3cf9f">Geographic and product category information consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.284%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="21" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:700;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr style="height:12pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Product revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Knee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hip&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Knee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hip&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$9,766&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$801&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10,567&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$11,939&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$776&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$12,715&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;826&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;826&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,177&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,177&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rest of world&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,298&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,298&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;992&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;992&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$11,890&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$801&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$12,691&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$14,108&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$776&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$14,884&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifd91182059ae426fbca9d4ca4f94e105_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzMtMi0xLTEtNTQ2OTY_0bb8b850-811a-4091-93df-e8934283dc98"
      unitRef="usd">9766000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i424d3e7c93c848cb848dda0ac62c1aa3_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzQtMy0xLTEtNTk4NDA_08d6702c-e905-4d8e-9d48-162ecd01b78f"
      unitRef="usd">801000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7689b64c8aa049a888174066eef71c97_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzQtNC0xLTEtNTk4NDA_459baaef-e9ba-49e7-875a-9c503b5b0edc"
      unitRef="usd">10567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4dc4d5a631da4d678e64c4485931d66b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzMtNC0xLTEtNTQ2OTY_ad622b3c-6e61-42ef-b748-c32e5a22b84b"
      unitRef="usd">11939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i80a1d0bba798431a9c8b011999838663_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzQtNy0xLTEtNTk4NDQ_3c8b4293-1ca1-41a0-9f7b-5ba693aa1fe1"
      unitRef="usd">776000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i177c4372793a4a3dafc8855362f57b0e_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzQtOC0xLTEtNTk4NDQ_d2a5cec1-b33d-4967-90a3-8dbc65656036"
      unitRef="usd">12715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id8ddce5dff254542942cba52dfda6be1_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzQtMi0xLTEtNTQ2OTY_05a4717d-dd3f-45af-bfbc-a5b89426509a"
      unitRef="usd">826000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib8655250a9b14ab79130a7606a26510e_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzUtMy0xLTEtNTk4NDA_72da2c09-dda8-47af-a12f-3cc82e373ce6"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic659416c8b6248ec9f5fc9e33cdd042c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzUtNC0xLTEtNTk4NDA_64b42c7b-7f79-43fb-988b-c534a6b89fc4"
      unitRef="usd">826000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idc40dbd2b6b848978181dcced03d0086_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzQtNC0xLTEtNTQ2OTY_79086dd0-afb7-4250-9784-7208071fd4b0"
      unitRef="usd">1177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i41859ea387574eccbfa5a372cc5b2433_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzUtNy0xLTEtNTk4NDQ_83216285-1481-41eb-abd7-dd1436376a9a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i946d40d0bedc420ba45c2f7b52062f5f_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzUtOC0xLTEtNTk4NDQ_65dcde55-ce85-4e43-ab2a-c9cc6ee89f1c"
      unitRef="usd">1177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i799bac3d1f9e4354867920a4d232491c_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzUtMi0xLTEtNTQ2OTY_657c932d-a17f-447b-b640-9318c4b31b44"
      unitRef="usd">1298000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3a7a978aaba14389bd651b5b129cbd50_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzYtMy0xLTEtNTk4NDA_0d714a78-bde3-424c-b873-908ddc6b496d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic59ed52746944a4f8f0477a9aad12cb5_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzYtNC0xLTEtNTk4NDA_c0aa38bb-99e5-4cd6-a172-75dbfc287c8b"
      unitRef="usd">1298000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9cf6fa95d6624adfbf7a1f2f65d0e3f6_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzUtNC0xLTEtNTQ2OTY_6e75d1a8-c2fa-4540-a49d-28d456eeb330"
      unitRef="usd">992000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia6ce3ea41c8e4e15aa34da604e6f41f8_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzYtNy0xLTEtNTk4NDQ_72d2180c-1f89-4840-a705-b3d592ad7ee6"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9159412667b4473f955f916d11067df4_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzYtOC0xLTEtNTk4NDQ_a39a9f9e-f6c6-472d-b582-7244e9d6c2d8"
      unitRef="usd">992000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib18ead1dda4a4825b9a16014b84c760d_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzYtMi0xLTEtNTQ2OTY_9d8b38a5-937f-4235-9dc0-56dabb9ecbf0"
      unitRef="usd">11890000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if82b99992f534d598226f3508de57a89_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzctMy0xLTEtNTk4NDA_ae94726a-3d8f-4b89-8fc3-4a2b8020ed64"
      unitRef="usd">801000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0942d5e63e4c4ee38768a022673c4ba7_D20230101-20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzctNC0xLTEtNTk4NDA_f9e61f58-a5b6-40cb-929c-c7869666efd4"
      unitRef="usd">12691000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idf3c4cfb9fdd4416a27756b9f2b22439_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzYtNC0xLTEtNTQ2OTY_3c1fbe7b-56ec-4272-93d3-17d7f9c60cbf"
      unitRef="usd">14108000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7fa81761e9da4250b9e9c53a76b277dd_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzctNy0xLTEtNTk4NDQ_96823cf8-b646-4805-b65b-54920a8b5349"
      unitRef="usd">776000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i60ef259b6bf24acaa0dc0e5b02e8cb3b_D20220101-20220331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTpmNmY2MWI3MDgyNWQ0ZGUwYTkwNGQ3YTVkYzI0MThhYy90YWJsZXJhbmdlOmY2ZjYxYjcwODI1ZDRkZTBhOTA0ZDdhNWRjMjQxOGFjXzctOC0xLTEtNTk4NDQ_acc9b8c1-58b3-4102-833d-89ad2fc5df4c"
      unitRef="usd">14884000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="i1c3f982d6afb43d3a162af351a62daa0_D20230101-20230331"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90ZXh0cmVnaW9uOmIyNjNjYjQwZTE3ZjQwNDZiZjRlYzQ5NjMyMzRkYTE2Xzc2MQ_3687183d-58f5-4e1b-94e9-620fa66e0112">Geographic information consisted of the following (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.694%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.709%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.831%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;March 31, 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,971&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Germany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rest of World&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:1pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="iedc60fa9b1c549379b0b923076ae6ac5_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzItMi0xLTEtNTQ2OTY_2434d6bd-5b43-4c87-8cb6-c2996e75edab"
      unitRef="usd">7971000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie251faa2b17c41d19b3b39577dae86d5_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzItNC0xLTEtNTQ2OTY_bce7098a-d0ce-49c7-bbe4-d1ac79f72b39"
      unitRef="usd">8065000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i4b64f4c7c204423095f31520f13320bb_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzMtMi0xLTEtNTQ2OTY_ac8714b3-da7f-4f29-b795-d7b7d30de3fd"
      unitRef="usd">38000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7892fd953cd04f309b85c0a2206e43d0_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzMtNC0xLTEtNTQ2OTY_fa4c005d-5f55-4c79-858a-c92d499b73ea"
      unitRef="usd">29000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7e1ea404c1794f939034ac0d143b07c1_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzQtMi0xLTEtNTQ2OTY_a8940b09-e03d-4d9e-9cc8-3c5199b13a7b"
      unitRef="usd">51000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i7d22a29f9f3b4809a61b927a4dc52f91_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzQtNC0xLTEtNTQ2OTY_09d6b343-a523-4f88-b317-4cf8717ee9c6"
      unitRef="usd">60000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ia917df9b424e4603b4c9e35009a9cc40_I20230331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzUtMi0xLTEtNTQ2OTY_13746b5a-529a-4183-9afb-f089319416b4"
      unitRef="usd">8060000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ied00cb9355ad496bbe2ce6e47cb51c89_I20221231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xMTUvZnJhZzpiMjYzY2I0MGUxN2Y0MDQ2YmY0ZWM0OTYzMjM0ZGExNi90YWJsZTozOTVkODUwMzQxOWM0NjAxYmIxNzM5YzhmZTFkYjQ5Mi90YWJsZXJhbmdlOjM5NWQ4NTAzNDE5YzQ2MDFiYjE3MzljOGZlMWRiNDkyXzUtNC0xLTEtNTQ2OTY_c8398d03-7edc-43ed-89ff-d39f0f974992"
      unitRef="usd">8154000</us-gaap:PropertyPlantAndEquipmentNet>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtMS0xLTEtNTQ2OTY_77796afe-3a92-4abb-9b96-e11da6e5f0f1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtMS0xLTEtNTQ2OTY_77796afe-3a92-4abb-9b96-e11da6e5f0f1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTYtMS0xLTEtNTQ2OTY_49d721ba-23f6-4e11-bf00-074169ce57e6"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTYtMS0xLTEtNTQ2OTY_49d721ba-23f6-4e11-bf00-074169ce57e6"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtMS0xLTEtNTQ2OTY_e6ecf7a3-45b5-43a3-80ef-81198fa8446d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtMS0xLTEtNTQ2OTY_e6ecf7a3-45b5-43a3-80ef-81198fa8446d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtMS0xLTEtNTQ2OTY_13c28acd-f471-4bf2-89f4-9b8fea0f36fd"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtMS0xLTEtNTQ2OTY_13c28acd-f471-4bf2-89f4-9b8fea0f36fd"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTYtMS0xLTEtNTQ2OTY_9449d470-a547-4dca-98c3-d1c5b9a4f36a"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTYtMS0xLTEtNTQ2OTY_9449d470-a547-4dca-98c3-d1c5b9a4f36a"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtMS0xLTEtNTQ2OTY_3676b9be-d5a5-41eb-9ca4-63ea78519efd"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtMS0xLTEtNTQ2OTY_3676b9be-d5a5-41eb-9ca4-63ea78519efd"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:112%">*</xhtml:span><xhtml:span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%">Adjusted for the 1-for-25 reverse stock split</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTUtMS0xLTEtNTQ2OTY_77796afe-3a92-4abb-9b96-e11da6e5f0f1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMTYtMS0xLTEtNTQ2OTY_49d721ba-23f6-4e11-bf00-074169ce57e6"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjc1YmY5ZGY3YzMzZjQ3NmNhN2UyMzFmMjg3YWFlOTk5L3RhYmxlcmFuZ2U6NzViZjlkZjdjMzNmNDc2Y2E3ZTIzMWYyODdhYWU5OTlfMjYtMS0xLTEtNTQ2OTY_e6ecf7a3-45b5-43a3-80ef-81198fa8446d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMjYtMS0xLTEtNTQ2OTY_13c28acd-f471-4bf2-89f4-9b8fea0f36fd"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTYtMS0xLTEtNTQ2OTY_9449d470-a547-4dca-98c3-d1c5b9a4f36a"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RhYmxlOjIzZTdiN2Y0MzAxYjQxNjY4M2M3MDE2NTQwMmI2YTU0L3RhYmxlcmFuZ2U6MjNlN2I3ZjQzMDFiNDE2NjgzYzcwMTY1NDAyYjZhNTRfMTUtMS0xLTEtNTQ2OTY_3676b9be-d5a5-41eb-9ca4-63ea78519efd"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8yNS9mcmFnOjMwMjc2MjRjNjhjNTRjMWVhZTZmMmEyMWI2NTRlYzhhL3RleHRyZWdpb246MzAyNzYyNGM2OGM1NGMxZWFlNmYyYTIxYjY1NGVjOGFfMjc0ODc3OTA2OTc2MQ_958c5523-4624-4e8d-8bd3-3c4546041e25"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_bca674a2-5689-4e9e-8f51-78de059f6db4"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_bca674a2-5689-4e9e-8f51-78de059f6db4"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_86d2cd7c-0f10-4485-bef5-29e7201bad5e"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_86d2cd7c-0f10-4485-bef5-29e7201bad5e"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_3fcd71ec-a3e2-4e88-996f-0418b23101fb"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_3fcd71ec-a3e2-4e88-996f-0418b23101fb"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_cabaebbd-9ad6-4ec6-bc48-4bf83e424f83"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_cabaebbd-9ad6-4ec6-bc48-4bf83e424f83"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_e802b4c9-ebf2-4adb-b703-47be12badb10"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_e802b4c9-ebf2-4adb-b703-47be12badb10"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_0628aecf-1fb8-4502-b8fd-66156ccf2b8c"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_0628aecf-1fb8-4502-b8fd-66156ccf2b8c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_f17100ee-03b5-471e-9bc6-0ba63c4543cd"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_f17100ee-03b5-471e-9bc6-0ba63c4543cd"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_27f5d8d0-f35c-41a3-9c46-d697f593eac2"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_27f5d8d0-f35c-41a3-9c46-d697f593eac2"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:112%">*</xhtml:span><xhtml:span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:112%">Adjusted for the 1-for-25 reverse stock split</xhtml:span><xhtml:span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:112%">&#160;</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_bca674a2-5689-4e9e-8f51-78de059f6db4"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_86d2cd7c-0f10-4485-bef5-29e7201bad5e"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMS0xLTEtNTQ2OTY_3fcd71ec-a3e2-4e88-996f-0418b23101fb"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_cabaebbd-9ad6-4ec6-bc48-4bf83e424f83"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_e802b4c9-ebf2-4adb-b703-47be12badb10"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMS0xLTEtNTQ2OTY_0628aecf-1fb8-4502-b8fd-66156ccf2b8c"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzMtMy0xLTEtNTQ2OTY_f17100ee-03b5-471e-9bc6-0ba63c4543cd"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RhYmxlOjcxYTViNTE3YzY4YjRmMzRiYjMyZDIyOGQ2ZTMxNjA4L3RhYmxlcmFuZ2U6NzFhNWI1MTdjNjhiNGYzNGJiMzJkMjI4ZDZlMzE2MDhfMzAtMy0xLTEtNTQ2OTY_27f5d8d0-f35c-41a3-9c46-d697f593eac2"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjA3ZDAxMmE2ZGQyODRkNzI4NmEzNWViMDVkYzhkZTY0L3NlYzowN2QwMTJhNmRkMjg0ZDcyODZhMzVlYjA1ZGM4ZGU2NF8xOS9mcmFnOmUxOGYxZmM3NTkzYjQ3Y2FhMjdmNDJmYmRmODkyZjM0L3RleHRyZWdpb246ZTE4ZjFmYzc1OTNiNDdjYWEyN2Y0MmZiZGY4OTJmMzRfMTY0OTI2NzQ0MTk0Nw_bd96b217-c2e2-497e-bbca-81e85cb170e3"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
