<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:csgp="http://www.costar.com/20211231"
  xmlns:dei="http://xbrl.sec.gov/dei/2021q4"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2021-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="csgp-20211231.xsd" xlink:type="simple"/>
    <context id="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia18676cc2232410185263a1e27f33a55_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i8a25fd79c0c84544bbd52d09b2677c63_I20220218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2022-02-18</instant>
        </period>
    </context>
    <context id="ic69c2b7c8eff4d2487b7bf224e3d4b4b_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia2f0127839294e4aad7da57a59dcefb4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ifd083e736a5640d1b41d9cea1743227b_D20200101-20200101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-01-01</endDate>
        </period>
    </context>
    <context id="i8affbf6019df4607b1dd6765499b24da_I20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-24</instant>
        </period>
    </context>
    <context id="ic96f26ec5891491680cee4b095800fcf_D20210524-20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-05-24</endDate>
        </period>
    </context>
    <context id="iebb36616087446969754eeedaf697325_D20210524-20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-05-24</endDate>
        </period>
    </context>
    <context id="i39830894519243f4a491908a9173714a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i01a5c9c85f614c20a041dc0600890c0c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <startDate>2021-06-07</startDate>
            <endDate>2021-06-07</endDate>
        </period>
    </context>
    <context id="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5203766ae01242c6a7dd45ad9aaabb93_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib30b2472224d4b55ad056e8672467c86_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ia1e6401d2a1145fd9d4efb0fd8eaca57_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="icde31c4052934478a9cbb4add162a826_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ic4ed5c24257242a0a38c43944bbcfd98_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i77d35e82380b4d0daff5c0cf440c9771_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i8747c2bd03fb4c9db4dec7eb12ca805f_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i5e03a390a4714f5494ed84c2f1cbec6e_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ia69b41de96a14115b70dcf49b76a4769_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i4429e79d4ca74b01a6a78ffdf0db2833_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="id178099be5da4b6882198619afc6f2d2_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i9e51e58d362048dda1d69142178baf76_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustedBalanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ib9ab630979bf45e496e226d7b34a777c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i32811cd506464bef857b6f0926e435cc_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if83d662698ba419d90b73d3b6711a800_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0fc88aba9ea94171908eb946befc1619_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6c0605e2f8e845f981a1cb9efe2a7621_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8ccc4c9ab19f49ee89533574587f68fd_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i6251af9e7e9a4ac18a1afe4fddd8954c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iacc3c6d79c2648a5aa62972c124a6d95_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic0d3cb30726b42ff9e92539c2963c86b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4951c834fbac4bf8b6fdfe441a3343db_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3d43eec4443448c7b9b0afad7202be68_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i80eb52a4695a4fe2a8c8b504f80f3d90_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic5d4a32df38b47229cd2530526fd1eb7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia7f76febea94415e88c3465693209281_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i45f88339af2848b9a3031622f8dab586_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia11d42410d484f4cab1f0ba78d2b10e4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</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="ice68a5788b5c40eabe832d0fd65873b5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</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="idd44d949f1bb4760b459dd5192ed5175_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</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="i6b9d1bbf40584a23899117aa73f63a11_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</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="ied72b3ccbe684c74a3d4cca6f876f90b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iac6929c34fbd48e39683db7f0a3e931e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic8bd4bd4e53d45889efae85930f4fd36_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1b5ae459cede46c388ffb199797dc732_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i895c1ca96d954e4586e50575df1ca3bb_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i7d90b31939c04fdd9723e49e17ae8df9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1ea9e0b0bf854f649bdd3a158ea61913_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie42005ca8ae94b46a2cdde70125fb1e4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1347f7202754455bb9c8311220b33739_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i05ef8766099844e6bcfa8f58d67600d7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia6d6e5af2194485da6e696cfc90ef49c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iaaa2c2609c2943e7b37d9e8f811f90f6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i87d4beadb08e44d6a595a4c288add2b8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">csgp:RentPathBreakFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2abd6235784245958186ab59547e21aa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">csgp:RentPathBreakFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie42eacf60a994177a8b361270a655c29_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">csgp:OtherRelatedToAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i150cf13ecc9c4b259372c5f9b5b5ae37_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">csgp:OtherRelatedToAcquisitionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i76d3a755d1e94a50bf18489d1eefa029_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3254a3e693394f79b04de782c9247d61_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i53777d5dd05045eebb7b6f4caa6322be_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:AircraftsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i96c655343fef46b99619a0350d7a0dae_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:AircraftsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i517229710b724798b497574e00805111_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie57d8eca7d364b48a2bfd5fbed1abbb4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if00d7707313a4ece9f68587fd7e9c12b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="idfacf13bc6ad4c2a86eccd0fe1228f71_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:ComputerHardwareAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibb48657635314f339159bc6b0e911abc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:ComputerHardwareAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iaa4836fae18b4f35a6cff4a90e079c2b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">csgp:AcquiredTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia0d50191617f43bea9d7028cca0cf580_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">csgp:AcquiredTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ifd1b856b1eb44d4aa79e1da033bbd26e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9d5967d6d4e941318cf08790d2ad2057_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3e10bd2693074604ad6f40e2d102d6aa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i51495ec4651a449eb79d16e35013bb23_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if6d26213d2a742fdbb327076c9434f3f_I20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csgp:RevolvingLoansAndLettersOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-01</instant>
        </period>
    </context>
    <context id="i48a8e6560d724c3f941209d94fb97d9e_I20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-01</instant>
        </period>
    </context>
    <context id="ia692a9d2e701455b96029b8126300ed5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id6dcb4b3167843fa9a258f823d6490ed_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iccce15ee388b4af88b4c4bd002986ad5_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4da7d00b68bb425fac46cf478ee2c881_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i59de2d337a6341458fe83cbf8d794ea3_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5bd3ad6cf84748f7848125a31121ef76_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i62fdee75b73f40d78ab046857634bbaf_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie60766046b5d4350b4e3f276f0330252_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i8b2f3648547947e8b0d85da1f707faed_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9de8f2787d39486d8f6055689dcbb8fe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9195b5bfa2dc4deeb4c3d5fac259ecfe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5a7b8d580f9a4e7288892bc49fde231b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie1f9f47e54a74eb38b42fe19504ca9ea_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idd3630f1660647cba2a60a55288d05cf_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i84c2e32d4cdb468dbadf6d64db8a0102_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i41ba35933d96428f98b2833549beea21_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic05e3f4c6dfb48eb8b18ef655c657f11_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i147691e0328c4b9c97122523289dd3b7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id89529c0fb4c4565af146ff8a8ebd3bf_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4488db68d12d41fe9c6f51c7931b899f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3a5fc817f6064752ac51011621282c0c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia9ca791160744d938f32fc8595df1d03_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0d80f7131aee47ecbb2cf95243897011_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6ef2d6d6da094f4ba185b85160dc8552_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i41859291ab294eb5a2db7fd78c34668c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic62b11156dbe432f8d14a8d26ad96a33_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia269372bbad54b75aae11c81fe577cd1_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id39560cd4fa749bfbb6d8d4e0474e3de_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i96844c2c0b4049b1a48243dd569ab1de_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic6b5ca37366e44a988de9497bd4888cc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ida59bde7ce46467e985a63f7f61c7033_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id4b349f5d13c4ac3aa35e04125acbb75_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i30e9a40a1d3b465b9e17539a5d32bcb8_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i614dc638cdc0495485b5d3ddb03e45ef_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if0c7f49b4e8a45669cac15dec343f957_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9b238e3efca74a3789677e1734fcbdb0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i911940f4bade47c08d516fc08f615016_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if03a0e25fbb242948d823edc24179843_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia72bcbfdf0404534a344fdfaaf2bd0f2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i273ead65c58242f0aeb68a9adb81424d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idab3e38d30394efd9fca4f2ccaac3dd1_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i31a778127dd4432b84ec5d78843d43e4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4c413cee25af4611999e5be1726cae13_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i9fd73b50860a4e12ada6c1c405f15fd6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="icf2b15c6f57b488e881bb5f19fdf4372_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:ResidentialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i963c2168164442afa0f448b9b1241056_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib9ac71980cb74d3da70081773154a02a_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="icbef371c71ad4fab9aec29e784df104d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6d0741f73dc14d2b8f59954a42e43346_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9ca2e5e7d8344a6b9721a805538ebe55_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i754250d64c1f427987f4edeb1b37e815_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3f260512b7024bf9ad32629081be5688_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0118703c0eb34bfa82de5ab2cb6b8d0e_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib4436553ff8d418f9c8e9cc2732969ad_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7cc6fcf940964397b1cdca6234fba2a9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i826af0ae57d44711b22e8b36fa6c6c48_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9f160ec2c36342368cc109c675637101_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5d4dc603c55342ba865cc629a433b1d9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ieed2cdbb170a43bdb78bc77917e73ae4_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia16c279d0b4847f7a01a9ae1e71fe0f6_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ibf359cb2f78a4bb8bcc1b768988c81d7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic83fa6bd25f84daeacb4f1365c9daf11_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic01fb2e1b48445d0996d9d1ef4ce41a3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iabb20a85a868429588ad59ddb6c24b29_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibc155f00a7be4bc0aa18949bcb4200a1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ice99786263a246aaaad944b3bdd2a2a8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i76ba7b3d77604ba8a5062bcc8a745391_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6875bee41d0a43efb83e43749364aef2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3939f135d2844e92a220a4edcc8178c4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7262b1c585a54485ab0a3c3c9062755e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if452435d0c2e437b8fe3ef6abe5cc9a7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i4b6f12c28c804b3fb2e6f0f53f4e0153_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1983d1b1888b49c88c456825449615f6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9096c75d0f8a45a6bef011e17fc1bc23_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4e43e671c7ef47e9b078b9f4d214b88d_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia6a25319d40145caa4b443e5c46fd6ab_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="idd3af35a5adc4dafa56d7a845f03ce04_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iad2ca633d50f447aa61cd3f65bc81f31_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8be713614dc74455a9680efcf93645d0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i51a14c087c394e2e89c025cee3247281_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic2d8b06424ee4fdb910ca2e6405d0619_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i30747ed9b3bd47dbba5abe9491a8adfa_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:CoStarSuiteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8bf70900b1194435abb69303fc39156c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:InformationServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i732322c6affb486da44f03b3b31d0cae_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:MultifamilyOnlineMarketplaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i90d8d4e3640a4337abab33d90285f5d4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:LoopNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8853af3750bc48b09b4471e99cc78d3a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancingReceivablePortfolioSegmentAxis">csgp:OtherMarketplacesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2e6b034d521a413e89cb8ae37dbad32b_D20211001-20211001">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:BureauxLocauxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-01</endDate>
        </period>
    </context>
    <context id="ifae003e3aa1c4dda8c4e2f2a7079fcd2_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:BureauxLocauxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i55f3b019e3384954a9dcd3eb4af79673_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:BureauxLocauxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i23e5d571106f4baf9d5d8c001d104bd3_D20210414-20210414">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-14</startDate>
            <endDate>2021-04-14</endDate>
        </period>
    </context>
    <context id="i7e14124f06e946b7891abba537c695af_I20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:ScenarioPreviouslyReportedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-24</instant>
        </period>
    </context>
    <context id="i5516c6c43dee4e478d5edd6b02575ce9_I20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-24</instant>
        </period>
    </context>
    <context id="if2b3ed0341ec4a7a99e34e6e365ed445_D20210524-20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-05-24</endDate>
        </period>
    </context>
    <context id="i6900fa5184d54b109a8cb5c24807f94a_D20210524-20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-05-24</endDate>
        </period>
    </context>
    <context id="i3e01e5e28d614b9a96a529e8d5afb125_D20210524-20210524">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-05-24</endDate>
        </period>
    </context>
    <context id="i8dfeba6940224c83a6f2ff916664c8c4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i85f4434aa401408a86127864ace8d09f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomescomMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i95517f08c115490f9b3fafc491eca3b6_D20201222-20201222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-22</startDate>
            <endDate>2020-12-22</endDate>
        </period>
    </context>
    <context id="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-22</instant>
        </period>
    </context>
    <context id="i27ad09fe9b0a41eb8d9e4bd1a69ade69_D20201222-20201222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-22</startDate>
            <endDate>2020-12-22</endDate>
        </period>
    </context>
    <context id="iea40fc08034d47fbaea041c6d40d823a_D20201222-20201222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-22</startDate>
            <endDate>2020-12-22</endDate>
        </period>
    </context>
    <context id="ic575955de4a848e7b025c048dad73fca_D20201222-20201222">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-22</startDate>
            <endDate>2020-12-22</endDate>
        </period>
    </context>
    <context id="i28ce6270f0c54bed8da9ec67038122e4_D20200624-20200624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-24</startDate>
            <endDate>2020-06-24</endDate>
        </period>
    </context>
    <context id="i304185076b034e5e9cee2b80e90e2441_I20200624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-24</instant>
        </period>
    </context>
    <context id="i50f9d3f3a56c4c10974085fb6670ca49_D20200624-20200624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-24</startDate>
            <endDate>2020-06-24</endDate>
        </period>
    </context>
    <context id="i8a24375adb834defb68df87035e2b74c_D20200624-20200624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-24</startDate>
            <endDate>2020-06-24</endDate>
        </period>
    </context>
    <context id="i43e5d3a7daa54d93bcedd66ceb2cbad1_D20200624-20200624">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-24</startDate>
            <endDate>2020-06-24</endDate>
        </period>
    </context>
    <context id="ice27b2c943bf4fb790d82fc42a87dd39_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i208bcd2b769a460e9aac1a7649a29a1e_D20210524-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-24</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibcf0b1dbe36b44babccd959a5793ccb1_D20200624-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-06-24</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i1d44548a1f394a0ba6c85031af3c50db_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6778bc66233c4ff581a72345ea5454c7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4521260cb8ee44f195b8d7fd2e7e94b3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if25ee72b785641b3822367a8f65241c7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i67f26cbf3082439b94ae2b697e2a6306_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i13c6c312d083433f8a740dbeeb037a1c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib1a2191a39ee4142a13ba15e76c18ebc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">csgp:CostofRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9664ba10ef78475e9d67add0f3e26525_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">csgp:CostofRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i0adef354f1e94f1186e256943fb586a7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">csgp:CostofRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i334d1edd6a2e49379a67c1d9d61a9e32_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ida3eedab73904a13a6e970ba74cf826f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i18e6c142fbf84667a695da30f49c5137_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i16529671db3d4a199758506130cdc9d3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icc72e7a6470f469080c2533a3f39ce28_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3dab246f5a7547e4a01ebc02bd5e1e6a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4221878de5d4485fa01137a4d595568c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:AircraftMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i885b44558dd7481e8ba5be8941c8da57_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">csgp:AircraftMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie36f67349a874cbfb7fc5c0fc9318263_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i78655897a4254e58bc0f2c7eba3e1759_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LandMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i57ac25085f7145bd909ed777d168d0dc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i21b547ff38544886a50b301fa80466b5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i763529a12f4f4a51aa513f8dd6d1b431_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie1a18e789ec34007b66f1f8f568742d2_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="icb576526a981447fb16bbc3afb03777f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie23c0ce34b044a0da5dca0909f86f61f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if870a5c2061e4c8cadaf55215a2cc0fb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idf42f1a8c91249b69cfca8448b7a2447_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic1aa234aef6242078e35e2ee677f086c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i17f8a23581614125a4c24fb0bd56c050_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ife2ff8a6ba6e46219bf418d921f60fca_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia2de7e63d67f4e378f57e1bf48ce4747_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXHomesnapAndSTRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3eb9c6dcd96944f8b7e622cafc519124_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:EmporisMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i491836dcf70743b9bf7cb7dcc10761ae_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:STRMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i42de879bca184296bfa082b5bfb2ae14_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:TenXMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6d21707f91d7494991c62707aff0cbad_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:HomesnapMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i031cd2e3482d4918bd81e29f7a35ac25_D20211001-20211001">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">csgp:BureauxLocauxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-01</endDate>
        </period>
    </context>
    <context id="i605ea78a1483478683b205bdfb4e06ad_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id744076475ee4d258eb8deeb3c6ea886_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibdb32bf3be014681a4680ad4fd51ff45_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i90f9933d0e3e4c32a82f3717297865db_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ieb301bbbd3a44cb48b4dacf422ccd24c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="id4ade285266142be9f1ef6c62f9aeb13_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerContractsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic74855476964404d93eb91957bcb4a61_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ib24a9414db694d9194b1affe32bd3cee_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib2343b8d2d1742f9a6739d9a03b765ba_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2492ba740efd457ca19a83d22838fea7_I20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2800SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-01</instant>
        </period>
    </context>
    <context id="ib735d504d9d244c38560a4228b980971_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2800SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i03686c5e68e943768778b9983b879239_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2800SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia748cda5bca947db8a30b63ccd9f151a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iec5c3e434ef3417f8b08a9b80c929e53_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="idb057e2add064d7786b189637189c6e5_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2800SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="i991f49160c2a47cfb7826fcb3153d2e7_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csgp:RevolvingLoansAndLettersOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="i9ef805ed53fa453d8cc3f5c6cc3af46d_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csgp:RevolvingLoansAndLettersOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="idbb1c2f4a5cb48a1848f1878465842ef_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csgp:RevolvingLoansAndLettersOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="ic25d55a4b13a482ba813cdebf7c16f09_I20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2020-07-01</instant>
        </period>
    </context>
    <context id="i717011a4ebd74d97b7d4e4ca3c8f8bb8_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">csgp:AlternateBaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="ib701148b58fe479f9153a8014315d92a_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">csgp:AlternateBaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="i01acdafc004c45358a7e4f6bea0cd764_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="i767e4d530d7c46f780375576fe1acc2c_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="ib61ef60ad2494ec8afefe5703c9c60f9_D20200701-20200701">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-01</endDate>
        </period>
    </context>
    <context id="idf7b06f23e9a41519f43a5326f93f9ab_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8510c8a2c0bb45f298bfd54b2bfeca10_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i05b3c4d64b934252a898855e87b565bf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csgp:A2020CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i22ce37a5b52444349fd30edbbbc59df0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:BorrowingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5bba7e15acbd481a990dda81ad029d3b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:BorrowingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i9ff07bc96bde46978c42dfee582babff_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:BorrowingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i82f39c4d49604292a9337632010a1a37_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id9ecf6f53030422b8d10519ad1209827_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id91b25c0efe743aca4246d7247e30eee_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3c78579a966b45a98e2cacd252260a5b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie28fd82d32f64df59c3812199df6921d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if7ece6aab4b5434a9b29c7c61a25264f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id8f9daf9fa3c4ffb8bfb8ffc7b7eacaa_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ia3d64399d484436e8f342b667132484b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ia11baac3e52a4c8b8c38f8708621f170_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i03612d40c61545619aa98b8369b54c57_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic45b96c4bc494d8e99a317577086ba8d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i8a94eb88294344d395897d40ed0283a3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i79ee740764fa4fe0a17daa83a6903112_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3074fff990284b04bab4cc7dc293f626_I20210606">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">csgp:BoardOfDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-06</instant>
        </period>
    </context>
    <context id="i4fb5bf9f54f54004bd9c77e1216bad2a_I20210607">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">csgp:BoardOfDirectorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-07</instant>
        </period>
    </context>
    <context id="i1a040aac644e44a68e083b4ae31d6dfc_I20210617">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2021-06-17</instant>
        </period>
    </context>
    <context id="i9f48bea27aef485e97a63535b922f7fb_I20210607">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <instant>2021-06-07</instant>
        </period>
    </context>
    <context id="i610dd229dbe943278496202f9e998a97_D20200528-20200528">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">csgp:PublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-28</startDate>
            <endDate>2020-05-28</endDate>
        </period>
    </context>
    <context id="i78443f33c13a4e1ca56f341d12a44f9c_I20200528">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">csgp:PublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-28</instant>
        </period>
    </context>
    <context id="i85ac3bc7d4ff4b05b912cee712e2d1dc_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csgp:PerformanceBasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i9f3c0a4348e145b2b38f980052c89ad6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csgp:PerformanceBasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if8770be0af8c4ddb979f56b41eb4e3ff_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">csgp:PerformanceBasedRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i72c8600749ac40c89facb1ca328cb576_I20160609">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csgp:CostarGroupInc2007StockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2016-06-09</instant>
        </period>
    </context>
    <context id="i683e73019acb48cc8cedae46bf5fff49_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csgp:CoStarGroupInc.2016StockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id121ea590a954bca89233782ce1ddf07_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csgp:CoStarGroupInc.2016StockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if7f8d1883a4e448f94b6c3a879797eb2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5a03306ad6d3495891199a65d9aa377e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csgp:CoStarGroupInc.2016StockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie73128a0605e42ac98bc5c6c661b03a4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id84b31afaacc422895867b569f12e1a2_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i9386d77e0dd04ce4ab0c51fe98e2814c_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i3e460b162bc64ad09912860bec3373b0_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i0a83f6056bb04bb0baa9ae64f9d55621_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i01e3897dd8134c8fac14638cd402ed35_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i3ca29df5f3834364a8a80d7470a5962d_D20180101-20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-12-31</endDate>
        </period>
    </context>
    <context id="i3a5cd6bf0b6440839316c96180895637_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2fcf01627c724cba82afeb7dfa8c7c6f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="idd36a9d2523145ecb02befc03850fab8_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2dfa52abf9d54263945daec0e17c5115_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i2f2460b680b54d328e65e62bb7588326_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6b28e68f85ef401d8d0d80f284124e12_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib2be7dc3db85428e816fd338ca5a5c9b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iaa861ad1810a41b48c2ab177adf86d0c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i22f5f1f458d64a068d09f1adafad7f44_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i65491a9085044d9593aa2207e64efbad_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id8a94fa9657343478ac9fcbe0c1dfdfb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iccd8d27134ba4aea89c2ecda5e599b2c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i16bdf3a2616146058c0e0ff4c64d8e25_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="icd37099440cd4076b8f4adcc307949f9_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i56d3d4457dad4b61a174ab58d6fe6fba_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i31245bf22c0e4347a6f70f8d4fc6b372_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic853cbd497ad41148aa227467af24d56_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0a33893e23b540ee901acbfd89622aa4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie50d7400906b44be8abebdd5048262d1_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iafa96922395e41bc8c9c520e928a67d0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">csgp:ExerciseRange4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="if49c90ab09974c1a8af9d0829b5cc046_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i93164584549048c49712ab2338a8267e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8e92da00892f40baad56c8e57221c701_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4848ebfb96414cb595048da6920a1042_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformancebasedRSAswithMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i8975fb6a7927479eabb198da204a7050_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformancebasedRSAswithMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="icfbfee8f8ee049eba3ff9dd890721a1a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformancebasedRSAswithMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5b4f606b6a3b4125bf4304d3c7b7d9e1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformancebasedRSAswithMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6a8116f4a6d144929f445a0a71ee7662_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformanceBasedRSAsWithoutMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9bf814d35cfc446d8a6fd757eb9521f8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformancebasedRSAswithMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if393600de37a44a3bae29867d07e7810_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformanceBasedRSAsWithoutMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i506a567826174116a165037916a52b03_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:PerformanceBasedRSAsWithoutMarketConditionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0c0881afdc844e88a6f3c2644c366bdd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4d50e0b0ca9942819c02a8758224b838_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id39edc138a9941db8241a2c4be9b1aba_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i04a5655caf414b779b2b439410a4cb5e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:DSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i45e7876f6f1a4b148793f8a5583c703d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:DSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i0301354fb962417097e21a2ec333b2e4_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:DSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie4b76b80c80b4bcf9dbeb1936a25427a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:MSPPRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia311acdb194d4f21befd9c6a89798249_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:MSPPRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7193772546b54f6da8494e8abeec9974_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">csgp:MSPPRSUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i17dc9b9d039d458e82a1e940828e7bf7_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i33bc183f3a5f4ab1b45a8e8e4ff1b3a9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ib80d3cbf0a5647ffb53ca4be6aec8c0f_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:PensionPlansDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib9b777ce46dd437e97fb43958a5ab06b_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i171c381cf0794027893c0a62061171e0_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i23aa294765cc4bb88af391105e6ff87a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanTypeAxis">us-gaap:SupplementalEmployeeRetirementPlanDefinedBenefitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i64ffe660181c40feb3faa94a952c8cb6_D20210602-20210602">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001057352</identifier>
        </entity>
        <period>
            <startDate>2021-06-02</startDate>
            <endDate>2021-06-02</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</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="operating_segment">
        <measure>csgp:operating_segment</measure>
    </unit>
    <unit id="portfoliosegment">
        <measure>csgp:portfolioSegment</measure>
    </unit>
    <unit id="numberofreceivable">
        <measure>csgp:numberOfReceivable</measure>
    </unit>
    <unit id="eur">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="occasion">
        <measure>csgp:occasion</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV80L2ZyYWc6MTgxYmFhMzdmMTRjNDdmOTg5NGNiNDYyZjgwN2QwNjQvdGFibGU6NzZhZWYzZGUxMGFkNDVhMmI0NjQxNGE0MzAyNGE4MzAvdGFibGVyYW5nZTo3NmFlZjNkZTEwYWQ0NWEyYjQ2NDE0YTQzMDI0YTgzMF8zLTEtMS0xLTI2MjI4_53e824d0-0a3a-45e4-ac18-221a31fac4e2">0001057352</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV80L2ZyYWc6MTgxYmFhMzdmMTRjNDdmOTg5NGNiNDYyZjgwN2QwNjQvdGFibGU6NzZhZWYzZGUxMGFkNDVhMmI0NjQxNGE0MzAyNGE4MzAvdGFibGVyYW5nZTo3NmFlZjNkZTEwYWQ0NWEyYjQ2NDE0YTQzMDI0YTgzMF80LTEtMS0xLTI2MjI4_3e2a2d2a-1849-47ed-b754-7e4d9d95fb30">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV80L2ZyYWc6MTgxYmFhMzdmMTRjNDdmOTg5NGNiNDYyZjgwN2QwNjQvdGFibGU6NzZhZWYzZGUxMGFkNDVhMmI0NjQxNGE0MzAyNGE4MzAvdGFibGVyYW5nZTo3NmFlZjNkZTEwYWQ0NWEyYjQ2NDE0YTQzMDI0YTgzMF81LTEtMS0xLTI2MjI4_bde1c30d-87c5-4559-9e32-09270034a7aa">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV80L2ZyYWc6MTgxYmFhMzdmMTRjNDdmOTg5NGNiNDYyZjgwN2QwNjQvdGFibGU6NzZhZWYzZGUxMGFkNDVhMmI0NjQxNGE0MzAyNGE4MzAvdGFibGVyYW5nZTo3NmFlZjNkZTEwYWQ0NWEyYjQ2NDE0YTQzMDI0YTgzMF82LTEtMS0xLTI2MjI4_54228f58-bb61-4477-b730-cedcb6bb716b">false</dei:AmendmentFlag>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i76d3a755d1e94a50bf18489d1eefa029_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzEtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjo4OGM3NDNlZWMxYzU0ZjgwYTAxODE1ZjQwMmUxZDI4M18xMDk5NTExNjI3ODE0_b130e77e-e600-4fbc-81ea-412ba20f6dec">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i3254a3e693394f79b04de782c9247d61_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzEtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjo4OGM3NDNlZWMxYzU0ZjgwYTAxODE1ZjQwMmUxZDI4M18xMDk5NTExNjI3ODI4_f64509f3-9b71-4398-a3e3-74daef10cfb0">P39Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i53777d5dd05045eebb7b6f4caa6322be_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzMtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpiM2FhNTI1OGUwMDU0Y2RkOWY3YzJiN2M1NDI3ZTJlYV8xMDk5NTExNjI3ODAx_f684cd82-53c1-49fb-b6b6-a2960c47cbe0">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i96c655343fef46b99619a0350d7a0dae_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzMtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpiM2FhNTI1OGUwMDU0Y2RkOWY3YzJiN2M1NDI3ZTJlYV8xMDk5NTExNjI3ODEx_e0ab8ebf-a04c-4985-8ae3-7f361390fbb8">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i517229710b724798b497574e00805111_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzQtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpmYmU2MTY1YmEyZTE0MTBjYjRkMmU3NmRkYjE0YWQzMF8xMDk5NTExNjI3ODAx_f62b2a3b-2672-4db1-b91e-8c0d93c43451">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ie57d8eca7d364b48a2bfd5fbed1abbb4_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzQtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpmYmU2MTY1YmEyZTE0MTBjYjRkMmU3NmRkYjE0YWQzMF8xMDk5NTExNjI3ODA3_cc6db4e3-b3e0-4515-a7d7-b2b7f2bc83f5">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="idfacf13bc6ad4c2a86eccd0fe1228f71_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzYtMi0xLTEtMjcwNDQvdGV4dHJlZ2lvbjo3NTMyOTM2NDQ5ZTA0NTQ3OGVmYTI0OTliNTMwZjMwYV8xMDk5NTExNjI3ODA0_c0d284c4-15bb-4fa8-8ddc-d3c11ceb53b0">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="ibb48657635314f339159bc6b0e911abc_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzYtMi0xLTEtMjcwNDQvdGV4dHJlZ2lvbjo3NTMyOTM2NDQ5ZTA0NTQ3OGVmYTI0OTliNTMwZjMwYV8xMDk5NTExNjI3ODEx_2aff9ace-f841-4496-9e2e-8cf32eb38a0b">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMS0xLTEtMjYyMjg_0c2f7f00-e628-4c81-a43e-d5bc1f6205c7">http://www.costar.com/20211231#LeaseAndOtherLiabilitiesNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMS0xLTEtMjYyMjg_162166d2-4359-43cd-83d0-1f78b65b1d15">http://www.costar.com/20211231#LeaseAndOtherLiabilitiesNoncurrent</us-gaap:OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i683e73019acb48cc8cedae46bf5fff49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzI1NTE_4fe186a8-a196-4906-892d-2b72f963d495">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODM1_1c4ce7ba-0e56-4fd7-ab2a-33a2f8aa9821">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6ZWVhZWNkNzEwNTAxNDgzM2FmNGZhODJiOGU2MDMyNjYvdGFibGVyYW5nZTplZWFlY2Q3MTA1MDE0ODMzYWY0ZmE4MmI4ZTYwMzI2Nl8wLTAtMS0xLTI2MjI4_1886dd4a-0bef-449f-8409-bdc8ef44e96b">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8xMDk5NTExNjM0OTg0_c7f414c0-0242-4fc8-aaad-9adb4fba76e2">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8xMDk5NTExNjM0OTg0_d0bb738a-d691-415d-a8a8-3e2bbba5882c">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6Zjc3NmU3ZDY3OGExNDM0OGFlYmQ1Yjc5M2MwYmM1NjIvdGFibGVyYW5nZTpmNzc2ZTdkNjc4YTE0MzQ4YWViZDViNzkzYzBiYzU2Ml8wLTAtMS0xLTI2MjI4_002c6659-5408-48f1-b074-9d42d0776b33">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODM2_bbe327f2-64f9-431a-b833-f97aa3b49b4b">0-24531</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODM3_e3cb0913-6d4e-40b4-962b-065b09d3fa7a">CoStar Group, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6YWU4M2RjZDdhNjEwNDgzZGExY2JjMjRjODAxMDc4YmYvdGFibGVyYW5nZTphZTgzZGNkN2E2MTA0ODNkYTFjYmMyNGM4MDEwNzhiZl8wLTAtMS0xLTI2MjI4_857d6f7d-25b6-46b9-8b47-6a54eef52a87">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6YWU4M2RjZDdhNjEwNDgzZGExY2JjMjRjODAxMDc4YmYvdGFibGVyYW5nZTphZTgzZGNkN2E2MTA0ODNkYTFjYmMyNGM4MDEwNzhiZl8wLTItMS0xLTI2MjI4_7bf70287-640f-4eb4-bd13-7e54e36b2047">52-2091509</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTM3NzQ1MjhiYjhhNGYwOWJiM2MxZjJhMjE2N2I1MTkvdGFibGVyYW5nZTo5Mzc3NDUyOGJiOGE0ZjA5YmIzYzFmMmEyMTY3YjUxOV8wLTAtMS0xLTI2MjI4_9249e349-a29b-4fe4-8862-9f4a75375f21">1331 L Street, NW</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTM3NzQ1MjhiYjhhNGYwOWJiM2MxZjJhMjE2N2I1MTkvdGFibGVyYW5nZTo5Mzc3NDUyOGJiOGE0ZjA5YmIzYzFmMmEyMTY3YjUxOV8xLTAtMS0xLTI2MjI4_36186cdc-a2e5-4978-9fd9-2a533cab45d3">Washington,</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTM3NzQ1MjhiYjhhNGYwOWJiM2MxZjJhMjE2N2I1MTkvdGFibGVyYW5nZTo5Mzc3NDUyOGJiOGE0ZjA5YmIzYzFmMmEyMTY3YjUxOV8xLTEtMS0xLTI2MjI4_d8fed796-aa36-4d20-8d13-678fe89e0c80">DC</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTM3NzQ1MjhiYjhhNGYwOWJiM2MxZjJhMjE2N2I1MTkvdGFibGVyYW5nZTo5Mzc3NDUyOGJiOGE0ZjA5YmIzYzFmMmEyMTY3YjUxOV8xLTItMS0xLTI2MjI4_9c70af66-2fb3-438c-a532-52c48cf6cb4c">20005</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODQy_6f2efdc5-6f85-4ccf-9502-923011c3a0bd">202)</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODM4_b92f2dad-d519-4656-90d7-564e30e9aef8">346-6500</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6ZmU4OTA4YzIwMThlNDQxNzljZjM2Y2FiMjJhN2QzYzEvdGFibGVyYW5nZTpmZTg5MDhjMjAxOGU0NDE3OWNmMzZjYWIyMmE3ZDNjMV8xLTAtMS0xLTI2MjI4_4a7ceb1a-6d9c-475b-99af-6c7b12488909">Common Stock ($0.01 par value)</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6ZmU4OTA4YzIwMThlNDQxNzljZjM2Y2FiMjJhN2QzYzEvdGFibGVyYW5nZTpmZTg5MDhjMjAxOGU0NDE3OWNmMzZjYWIyMmE3ZDNjMV8xLTEtMS0xLTI2MjI4_a3bd32ba-8e01-41d0-bd2e-563e2e9d8bec">CSGP</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6ZmU4OTA4YzIwMThlNDQxNzljZjM2Y2FiMjJhN2QzYzEvdGFibGVyYW5nZTpmZTg5MDhjMjAxOGU0NDE3OWNmMzZjYWIyMmE3ZDNjMV8xLTItMS0xLTI2MjI4_d7be1190-d8df-4a68-897f-8431871dd4af">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODQz_d456048a-4015-4b48-9c52-5ae56f590248">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODQ0_9a2a7f98-e87a-4923-8dd7-8811a6ee67c7">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODQ1_e0f8c533-c440-4be2-8047-f412b50d9a21">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODM5_0abd1b14-a33d-4ce9-be45-1897e453106c">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTRhYjU1NmY5YzBmNGUzMzk0ZDExNGMwNmEwMzM3YTUvdGFibGVyYW5nZTo5NGFiNTU2ZjljMGY0ZTMzOTRkMTE0YzA2YTAzMzdhNV8wLTAtMS0xLTI2MjI4_90e487bf-e2e5-46e3-9476-4a20ff73f5ab">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTRhYjU1NmY5YzBmNGUzMzk0ZDExNGMwNmEwMzM3YTUvdGFibGVyYW5nZTo5NGFiNTU2ZjljMGY0ZTMzOTRkMTE0YzA2YTAzMzdhNV8xLTMtMS0xLTI2MjI4_7a715bdf-1622-4dd7-9c49-0edce76af949">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGFibGU6OTRhYjU1NmY5YzBmNGUzMzk0ZDExNGMwNmEwMzM3YTUvdGFibGVyYW5nZTo5NGFiNTU2ZjljMGY0ZTMzOTRkMTE0YzA2YTAzMzdhNV8yLTMtMS0xLTI2MjI4_6ac20e1d-ab6a-4530-be49-569ddb011e1e">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yMTk5MDIzMjYzMDkz_6a43f2cf-5522-493b-8653-e19d79f7f3ef">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yODQx_e608776f-51a5-4a0f-95e6-2f18aca715e6">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="ia18676cc2232410185263a1e27f33a55_I20210630"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yNzc0_b10be588-0d61-4619-aa69-451ff0155596"
      unitRef="usd">28700000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i8a25fd79c0c84544bbd52d09b2677c63_I20220218"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xL2ZyYWc6ZTFjM2JjMjIzMzBjNDhmOGIzNWJiNmJhNTE4ZmFiNTgvdGV4dHJlZ2lvbjplMWMzYmMyMjMzMGM0OGY4YjM1YmI2YmE1MThmYWI1OF8yNzg4_9633e021-4043-4201-aac6-e318110693bd"
      unitRef="shares">394987704</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgxL2ZyYWc6ZGY0NzE3MDA2ZjllNDg3NzkyY2I5OWJkOWMzNjc0OGMvdGV4dHJlZ2lvbjpkZjQ3MTcwMDZmOWU0ODc3OTJjYjk5YmQ5YzM2NzQ4Y182NTk3MDY5NzY3MjYy_c8fb1b18-aad3-4546-85b8-6162b1277f88">&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;DOCUMENTS INCORPORATED BY REFERENCE&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Portions of the registrant&#x2019;s definitive proxy statement, which is expected to be filed with the Securities and Exchange Commission within 120 days after the end of the registrant&#x2019;s fiscal year ended December&#160;31, 2021 are incorporated by reference into Part III of this Report.&lt;/span&gt;&lt;/div&gt;</dei:DocumentsIncorporatedByReferenceTextBlock>
    <srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMDkvZnJhZzozZGY5NDYzMTBlMDE0MmFjYjNlZTg2NGI0ZmI4NzdmYS90ZXh0cmVnaW9uOjNkZjk0NjMxMGUwMTQyYWNiM2VlODY0YjRmYjg3N2ZhXzE0NDE_a999333f-4dc3-4edf-929f-dc0d7e309de0">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Schedule II &#x2013; Valuation and Qualifying Accounts&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below details the activity of the allowance for doubtful accounts and sales credits &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&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; for the year ended December 31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt"&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:50.664%"/&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:10.223%"/&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:10.223%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.223%"/&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:10.227%"/&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="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;Balance at&lt;br/&gt;Beginning&lt;br/&gt;of Year&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:10pt;font-weight:700;line-height:100%"&gt;Charged to&lt;br/&gt;Expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;Reductions&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:10pt;font-weight:700;line-height:100%"&gt;Balance at&lt;br/&gt;End of Year&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;/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="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ended December 31, 2019&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;(2)&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: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;5,709&#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,978&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;11,590&#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;5,097&#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: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 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="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="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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt;text-align:justify;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:7.44pt"&gt;Additions to the allowance for doubtful accounts are charged to bad debt expense. Additions to the allowance for sales credits are charged against revenues.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:13.5pt;text-align:justify;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;padding-left:7.44pt"&gt;On January 1, 2020, the Company adopted ASU 2016-13,&#160;Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, using the modified retrospective method. The adoption resulted in a $0.5&#160;million reduction to the December 31, 2019 allowance for credit losses. See Note 4 for a description of changes in the allowance for credit losses for the years ended December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;</srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ic69c2b7c8eff4d2487b7bf224e3d4b4b_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMDkvZnJhZzozZGY5NDYzMTBlMDE0MmFjYjNlZTg2NGI0ZmI4NzdmYS90YWJsZTozZGEzYjI5ZWM3MTA0NmQ2YjU5NGQwNGYxYWE2MmVjMi90YWJsZXJhbmdlOjNkYTNiMjllYzcxMDQ2ZDZiNTk0ZDA0ZjFhYTYyZWMyXzMtMi0xLTEtMjYyMjg_00032db1-bde5-47fe-b6aa-e7dc4b658b29"
      unitRef="usd">5709000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMDkvZnJhZzozZGY5NDYzMTBlMDE0MmFjYjNlZTg2NGI0ZmI4NzdmYS90YWJsZTozZGEzYjI5ZWM3MTA0NmQ2YjU5NGQwNGYxYWE2MmVjMi90YWJsZXJhbmdlOjNkYTNiMjllYzcxMDQ2ZDZiNTk0ZDA0ZjFhYTYyZWMyXzMtNC0xLTEtMjYyMjg_239ca8f5-5394-47dd-8a7c-6ea32c741e3e"
      unitRef="usd">10978000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMDkvZnJhZzozZGY5NDYzMTBlMDE0MmFjYjNlZTg2NGI0ZmI4NzdmYS90YWJsZTozZGEzYjI5ZWM3MTA0NmQ2YjU5NGQwNGYxYWE2MmVjMi90YWJsZXJhbmdlOjNkYTNiMjllYzcxMDQ2ZDZiNTk0ZDA0ZjFhYTYyZWMyXzMtOC0xLTEtMjYyMjg_1b3cc0ff-f5a6-46ef-aab7-8c17c4bf33b0"
      unitRef="usd">11590000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesBalance
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMDkvZnJhZzozZGY5NDYzMTBlMDE0MmFjYjNlZTg2NGI0ZmI4NzdmYS90YWJsZTozZGEzYjI5ZWM3MTA0NmQ2YjU5NGQwNGYxYWE2MmVjMi90YWJsZXJhbmdlOjNkYTNiMjllYzcxMDQ2ZDZiNTk0ZDA0ZjFhYTYyZWMyXzMtMTAtMS0xLTI2MjI4_8e38502c-512c-4a07-bf2d-04ed39497462"
      unitRef="usd">5097000</us-gaap:ValuationAllowancesAndReservesBalance>
    <us-gaap:AllowanceForLoanAndLeaseLossesAdjustmentsNet
      contextRef="ifd083e736a5640d1b41d9cea1743227b_D20200101-20200101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMDkvZnJhZzozZGY5NDYzMTBlMDE0MmFjYjNlZTg2NGI0ZmI4NzdmYS90ZXh0cmVnaW9uOjNkZjk0NjMxMGUwMTQyYWNiM2VlODY0YjRmYjg3N2ZhXzgwOQ_d22c382a-3c2b-4cea-9bf8-08c361f6d972"
      unitRef="usd">-500000</us-gaap:AllowanceForLoanAndLeaseLossesAdjustmentsNet>
    <dei:AuditorFirmId
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMTgvZnJhZzpjMjhjMDE1YjdiNTE0Y2M2YTUzMWJmYWQ0OGM5ZGEyYy90YWJsZTpiOWVkOGM4MzI3OGY0NDliODJjMGI5ZDQ2ZDIwODc4MC90YWJsZXJhbmdlOmI5ZWQ4YzgzMjc4ZjQ0OWI4MmMwYjlkNDZkMjA4NzgwXzAtMC0xLTEtMzkwNzYvdGV4dHJlZ2lvbjphNzZmMjE2ZGI3MWY0ZjY2OWVkNmJmODhkMzQyZmMxYV8xMDk5NTExNjI3OTg2_c3d6f3d6-f5db-44a2-8486-e0be395afe2a">42</dei:AuditorFirmId>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90YWJsZTpkODA1YTg5MDc0NWM0MjkzOTc3YmIyMDQ4MGY3ZTM0YS90YWJsZXJhbmdlOmQ4MDVhODkwNzQ1YzQyOTM5NzdiYjIwNDgwZjdlMzRhXzEtMi0xLTEtMjYyMjgvdGV4dHJlZ2lvbjpjZWExZGM0NmVkNWI0NmY4OGFiYjJhZGYyZWNjNDdkOV8xNzU5MjE4NjA0OTQxNA_db4ec5b5-16c9-4434-9b95-8b486dd323b5"
      unitRef="usd">152000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ic96f26ec5891491680cee4b095800fcf_D20210524-20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90YWJsZTpkODA1YTg5MDc0NWM0MjkzOTc3YmIyMDQ4MGY3ZTM0YS90YWJsZXJhbmdlOmQ4MDVhODkwNzQ1YzQyOTM5NzdiYjIwNDgwZjdlMzRhXzEtMi0xLTEtMjYyMjgvdGV4dHJlZ2lvbjpjZWExZGM0NmVkNWI0NmY4OGFiYjJhZGYyZWNjNDdkOV8xNzU5MjE4NjA0OTQyOA_0605606f-5354-41e1-8961-c7e04c108a6e"
      unitRef="usd">32000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="iebb36616087446969754eeedaf697325_D20210524-20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90YWJsZTpkODA1YTg5MDc0NWM0MjkzOTc3YmIyMDQ4MGY3ZTM0YS90YWJsZXJhbmdlOmQ4MDVhODkwNzQ1YzQyOTM5NzdiYjIwNDgwZjdlMzRhXzEtMi0xLTEtMjYyMjgvdGV4dHJlZ2lvbjpjZWExZGM0NmVkNWI0NmY4OGFiYjJhZGYyZWNjNDdkOV8xNzU5MjE4NjA0OTQ0NA_ff281e2c-c60c-486e-8df2-355173785907"
      unitRef="usd">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <dei:AuditorName
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90ZXh0cmVnaW9uOmM4OWFmZjc5MDFkNDRkNjBhNWRhNmUxNTU2ZWRkMjExXzE3NTkyMTg2MDU0ODMx_9fe99ee7-6d14-4b79-865f-d732304ea108">Ernst &amp; Young LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90ZXh0cmVnaW9uOmM4OWFmZjc5MDFkNDRkNjBhNWRhNmUxNTU2ZWRkMjExXzE3NTkyMTg2MDU0ODUx_9f6da733-ec2f-4ccc-98e8-1da987ab7526">Tysons, Virginia</dei:AuditorLocation>
    <dei:AuditorName
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90ZXh0cmVnaW9uOmM4OWFmZjc5MDFkNDRkNjBhNWRhNmUxNTU2ZWRkMjExXzIxOTkwMjMyNjUzMDU_9fe99ee7-6d14-4b79-865f-d732304ea108">Ernst &amp; Young LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjEvZnJhZzpjODlhZmY3OTAxZDQ0ZDYwYTVkYTZlMTU1NmVkZDIxMS90ZXh0cmVnaW9uOmM4OWFmZjc5MDFkNDRkNjBhNWRhNmUxNTU2ZWRkMjExXzIxOTkwMjMyNjUzMDY_9f6da733-ec2f-4ccc-98e8-1da987ab7526">Tysons, Virginia</dei:AuditorLocation>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzMtMS0xLTEtMjYyMjg_754fbc89-5dbf-4522-a733-72a546d0ae9f"
      unitRef="usd">1944135000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzMtMy0xLTEtMjYyMjg_ed3002c7-f6a0-42c2-8357-51ae2c48bd29"
      unitRef="usd">1659019000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzMtNS0xLTEtMjYyMjg_3756c656-9130-4f1d-903d-4213af16e561"
      unitRef="usd">1399719000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzQtMS0xLTEtMjYyMjg_1fc5150e-9d85-4af5-a9ca-9ed0b99367b3"
      unitRef="usd">357241000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzQtMy0xLTEtMjYyMjg_b76efae4-6f6d-4319-88c6-5c9e1431034a"
      unitRef="usd">308968000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzQtNS0xLTEtMjYyMjg_2ebdda51-68a9-40d0-9631-2ce9dc766100"
      unitRef="usd">289239000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzUtMS0xLTEtMjYyMjg_0c485c8e-2daa-4259-838e-0571e9b8a56e"
      unitRef="usd">1586894000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzUtMy0xLTEtMjYyMjg_4a510c0e-9650-45db-9288-feb191083d4b"
      unitRef="usd">1350051000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzUtNS0xLTEtMjYyMjg_8bd1530b-460b-4dcf-97c4-24780e997ad0"
      unitRef="usd">1110480000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzgtMS0xLTEtMjYyMjg_a9613334-a08d-4a19-af21-34871b01673e"
      unitRef="usd">622007000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzgtMy0xLTEtMjYyMjg_7fc7ad3b-f7f4-4cac-b407-e92f646101a3"
      unitRef="usd">535778000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzgtNS0xLTEtMjYyMjg_cf2a5e22-e578-4848-84c7-84fab4aed561"
      unitRef="usd">408596000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzktMS0xLTEtMjYyMjg_7c8891e1-c507-48d4-9851-5bbc2749da29"
      unitRef="usd">201022000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzktMy0xLTEtMjYyMjg_748d60e8-4b85-4dc9-b570-76f0239d5673"
      unitRef="usd">162916000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzktNS0xLTEtMjYyMjg_bb805bd6-276c-4387-a834-5754c93d88a8"
      unitRef="usd">125602000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEwLTEtMS0xLTI2MjI4_0ab39e69-9bd1-4c46-ba7b-324a9fbc933f"
      unitRef="usd">256711000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEwLTMtMS0xLTI2MjI4_1e41e607-140f-43fe-b2af-f13e2b6eed45"
      unitRef="usd">299698000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEwLTUtMS0xLTI2MjI4_fd8c168e-2d7a-4060-89d3-2ca494be1346"
      unitRef="usd">178740000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzExLTEtMS0xLTI2MjI4_2c8f97f2-b036-4c22-99bf-e07913c5b878"
      unitRef="usd">74817000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzExLTMtMS0xLTI2MjI4_1904d3f6-14ba-4ecb-9290-c8038a3b872e"
      unitRef="usd">62457000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzExLTUtMS0xLTI2MjI4_fe11f29f-8ad3-48e2-9da0-8d03870ba2f6"
      unitRef="usd">33995000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OperatingExpenses
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEyLTEtMS0xLTI2MjI4_b483ec34-9318-4499-8b30-3c5e3dbef227"
      unitRef="usd">1154557000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEyLTMtMS0xLTI2MjI4_7453e014-9e72-4add-bc3b-a5cc8092d99c"
      unitRef="usd">1060849000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEyLTUtMS0xLTI2MjI4_bde8fd3a-2501-4513-a57e-9b647d7e6378"
      unitRef="usd">746933000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEzLTEtMS0xLTI2MjI4_f5adf262-5d8f-4a6c-a6de-a0d66370b8b5"
      unitRef="usd">432337000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEzLTMtMS0xLTI2MjI4_f9b8293d-5db9-4de4-8583-87ae57bfb0f1"
      unitRef="usd">289202000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzEzLTUtMS0xLTI2MjI4_7bf64ef2-0db7-43f1-b2e9-39ae8d8878a2"
      unitRef="usd">363547000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE0LTEtMS0xLTI2MjI4_e40036d3-2368-4e91-ba76-9b613490b481"
      unitRef="usd">-31621000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE0LTMtMS0xLTI2MjI4_0e18822a-4182-4df2-aa11-35bd5e900aa3"
      unitRef="usd">-17395000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE0LTUtMS0xLTI2MjI4_c79b4257-49d0-44c7-a07c-aa41c16a64ea"
      unitRef="usd">16742000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE1LTEtMS0xLTI2MjI4_52236956-3b0a-4ac1-9512-525ce416d4b7"
      unitRef="usd">3252000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE1LTMtMS0xLTI2MjI4_2e82444b-3968-4a61-b7d6-65179a0a50ba"
      unitRef="usd">-827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE1LTUtMS0xLTI2MjI4_ea0a09bf-fbcd-4b19-b6bd-657e463651fc"
      unitRef="usd">10660000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE2LTEtMS0xLTI2MjI4_9b15b728-5615-4d2e-84c1-915dfe04983f"
      unitRef="usd">403968000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE2LTMtMS0xLTI2MjI4_b8cb575f-40b0-4928-98e0-1b4743f85742"
      unitRef="usd">270980000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE2LTUtMS0xLTI2MjI4_2c23654c-e1f3-4cb3-b9b5-9556b86091b3"
      unitRef="usd">390949000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE3LTEtMS0xLTI2MjI4_530d73cb-9b38-4fb0-a14b-1837ac9d68ca"
      unitRef="usd">111404000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE3LTMtMS0xLTI2MjI4_a6aad4d4-8ee1-4bd7-9f00-71e3ffbf6ee5"
      unitRef="usd">43852000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE3LTUtMS0xLTI2MjI4_08d13a8e-b38c-4c0f-8e44-962adc8d626f"
      unitRef="usd">75986000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i01a5c9c85f614c20a041dc0600890c0c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE4LTEtMS0xLTI2MjI4_37a92158-89b5-482c-90ae-5557e1bb3cb2"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE4LTMtMS0xLTI2MjI4_7d36df53-e6d6-41ad-a0e2-59700d191f4a"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzE4LTUtMS0xLTI2MjI4_c45222b2-d593-42ba-8a98-eb87a7a0dc9f"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTEtMS0xLTI2MjI4_7b36fccc-f7c9-4160-9c08-4a8d9305022e"
      unitRef="usdPerShare">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTMtMS0xLTI2MjI4_1800c414-f2c8-407d-a6fe-cca245c30457"
      unitRef="usdPerShare">0.60</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTUtMS0xLTI2MjI4_5fe15c03-b950-4233-ac1f-1b2498d65ff9"
      unitRef="usdPerShare">0.87</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTEtMS0xLTI2MjI4_b07e8526-abfd-43a3-82d3-f3a7393168ce"
      unitRef="usdPerShare">0.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTMtMS0xLTI2MjI4_de06dfd6-f730-49a9-a168-8c37a3b2be17"
      unitRef="usdPerShare">0.59</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTUtMS0xLTI2MjI4_a4a0da44-2bde-41ce-98e2-9f08232111a2"
      unitRef="usdPerShare">0.86</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTEtMS0xLTI2MjI4_db7bb4d1-9452-4722-8818-673d1c25e075"
      unitRef="shares">392210000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTMtMS0xLTI2MjI4_ddfdb64b-b3d1-4634-a270-9260b7446b22"
      unitRef="shares">380726000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTUtMS0xLTI2MjI4_bf8edbeb-85bd-4915-b099-1ca7b871985e"
      unitRef="shares">363096000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTEtMS0xLTI2MjI4_c0e24926-259e-47db-8de9-71e6634cd73c"
      unitRef="shares">394160000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTMtMS0xLTI2MjI4_4f8b9402-a15e-4621-b28b-ad5ce4560743"
      unitRef="shares">383266000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTUtMS0xLTI2MjI4_eab52556-1032-4c7c-bd02-24d0fcde49a2"
      unitRef="shares">366301000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyODY_5bdb2049-9699-4b17-9567-c173c8edaea1"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:NetIncomeLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzItMi0xLTEtMjYyMjg_adcec973-c67f-4d51-96fd-5fd2b530042b"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzItNC0xLTEtMjYyMjg_967a44d5-15f4-4f71-8b49-21b19871ee9d"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzItNi0xLTEtMjYyMjg_5fda5e47-c8ad-4064-8a2e-01cdb1d7804a"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzQtMi0xLTEtMjYyMjg_6615ab39-41fc-40f7-883e-f3237bc1495b"
      unitRef="usd">-4869000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzQtNC0xLTEtMjYyMjg_87804a81-d876-4d31-8604-dc146b99a1bf"
      unitRef="usd">6966000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzQtNi0xLTEtMjYyMjg_789f6727-6f20-4882-a9c9-aa2adc1eac97"
      unitRef="usd">3103000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzUtMi0xLTEtMjYyMjg_ad508165-4eec-41ff-a1eb-2eeed4a9feae"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzUtNC0xLTEtMjYyMjg_44b1ca1a-6a48-4358-8800-ec04d3fa5caa"
      unitRef="usd">189000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzUtNi0xLTEtMjYyMjg_56e9373f-c8ae-47c4-969f-052da851a76c"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzYtMi0xLTEtMjYyMjg_b927ef13-b16b-4114-bc2f-0a697ec37e5d"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzYtNC0xLTEtMjYyMjg_5e82430b-24a0-4fef-8da5-bba140773e96"
      unitRef="usd">-541000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzYtNi0xLTEtMjYyMjg_0752297f-7c2e-4557-b8b3-5e9a90f2e5f4"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzctMi0xLTEtMjYyMjg_b99447b5-889b-4ea4-a4a4-6e5e80c6fd84"
      unitRef="usd">-4869000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzctNC0xLTEtMjYyMjg_fcc9b221-5788-41f6-bdf7-8a3ec0ff0cf6"
      unitRef="usd">7696000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzctNi0xLTEtMjYyMjg_0d768393-7487-481d-8088-c488fe670174"
      unitRef="usd">3103000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzgtMi0xLTEtMjYyMjg_c780302c-7c32-46b7-8e92-1df9b559b0b5"
      unitRef="usd">287695000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzgtNC0xLTEtMjYyMjg_974e0fd0-01a3-4cdd-adc8-18928c0311c7"
      unitRef="usd">234824000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjcvZnJhZzplNGRiOGVmOWM2MzU0MTFkYjdkYjc3NjEyNDUzZGJhNC90YWJsZToxMDNhOTU4YWY2YTA0YmI0OWJiYTMzOGRmOTlkNTE0OC90YWJsZXJhbmdlOjEwM2E5NThhZjZhMDRiYjQ5YmJhMzM4ZGY5OWQ1MTQ4XzgtNi0xLTEtMjYyMjg_77fef014-ef0e-4149-9ecd-3ff5c8db677e"
      unitRef="usd">318066000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQtMS0xLTEtMjYyMjg_f953c54b-fa64-49d1-aa78-97161dbbda29"
      unitRef="usd">3827126000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQtMy0xLTEtMjYyMjg_c6d0b6f3-45e7-4749-9524-57fac49fdbed"
      unitRef="usd">3755912000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzYtMS0xLTEtMjYyMjg_14c5ac47-69ba-45f9-ae94-29985e193332"
      unitRef="usd">138191000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzYtMy0xLTEtMjYyMjg_8cdfaa06-3dab-48e2-9e4c-83c2b575251a"
      unitRef="usd">119059000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzctMS0xLTEtMjYyMjg_b1d55da0-28e5-447d-991c-3da6e3a93eec"
      unitRef="usd">13374000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzctMy0xLTEtMjYyMjg_d99fe437-bbcd-4b09-9378-c189380bd68a"
      unitRef="usd">15110000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzgtMS0xLTEtMjYyMjg_f4bedcf6-b661-4711-8929-6f20e4d845ed"
      unitRef="usd">124817000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzgtMy0xLTEtMjYyMjg_d5e00e94-e0af-48e6-a7c4-c57660c5135e"
      unitRef="usd">103949000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzktMS0xLTEtMjYyMjg_f270fd7f-37b3-407f-a97c-2ca2cc244de9"
      unitRef="usd">36182000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzktMy0xLTEtMjYyMjg_b9d03e31-7b42-4b2d-b8d8-600999793aed"
      unitRef="usd">28651000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzEwLTEtMS0xLTI2MjI4_6b82e76e-3351-4322-bbc9-8ba6637edcad"
      unitRef="usd">3988125000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzEwLTMtMS0xLTI2MjI4_ee1c9927-d525-47d9-a123-23d4e1985b48"
      unitRef="usd">3888512000</us-gaap:AssetsCurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzEzLTEtMS0xLTI2MjI4_e885fea0-d9b6-4be4-a91a-57d26203fdd2"
      unitRef="usd">5034000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzEzLTMtMS0xLTI2MjI4_1d167013-35f8-4f64-9355-4fa5599ec974"
      unitRef="usd">4983000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE0LTEtMS0xLTI2MjI4_d4609ae2-f49d-4c49-ab5a-12e1b152b6f8"
      unitRef="usd">100680000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE0LTMtMS0xLTI2MjI4_5fbb5260-2cdf-436a-b057-cb3d9bc9f754"
      unitRef="usd">108740000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE1LTEtMS0xLTI2MjI4_ae57836b-f231-4c29-aa88-e2d7b0b39ead"
      unitRef="usd">271431000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE1LTMtMS0xLTI2MjI4_f6d47dcf-983d-4e51-aee4-c975860571d3"
      unitRef="usd">126325000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE2LTEtMS0xLTI2MjI4_518e4357-85be-4936-9b9c-bb907d657c6d"
      unitRef="usd">2321015000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE2LTMtMS0xLTI2MjI4_6aa27414-7946-47ea-b02b-128ceaabe35c"
      unitRef="usd">2235999000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE3LTEtMS0xLTI2MjI4_fc966b0f-8e88-409c-b2c5-d2c48cbc23a1"
      unitRef="usd">435662000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE3LTMtMS0xLTI2MjI4_4cd16cc5-61aa-4b9d-92e3-fd66351ae5e3"
      unitRef="usd">426745000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredCosts
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE4LTEtMS0xLTI2MjI4_acf662bd-ea81-4e92-bc01-d1bd741d93dd"
      unitRef="usd">101879000</us-gaap:DeferredCosts>
    <us-gaap:DeferredCosts
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE4LTMtMS0xLTI2MjI4_8981700c-8168-4ab7-989f-6f9373077529"
      unitRef="usd">93274000</us-gaap:DeferredCosts>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE5LTEtMS0xLTI2MjI4_50a168f5-3c53-4aac-b416-bdaee945b1c7"
      unitRef="usd">21762000</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:DepositsAssetsNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzE5LTMtMS0xLTI2MjI4_954219ea-84ac-4298-bd14-bf2be00b1bc8"
      unitRef="usd">15856000</us-gaap:DepositsAssetsNoncurrent>
    <us-gaap:IncomeTaxesReceivableNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzIwLTEtMS0xLTI2MjI4_575aa6ae-4990-411e-ae83-7b43bf0aefa0"
      unitRef="usd">11283000</us-gaap:IncomeTaxesReceivableNoncurrent>
    <us-gaap:IncomeTaxesReceivableNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzIwLTMtMS0xLTI2MjI4_40d9698f-1107-4543-a7d7-1c0cfcb9f173"
      unitRef="usd">14986000</us-gaap:IncomeTaxesReceivableNoncurrent>
    <us-gaap:Assets
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzIxLTEtMS0xLTI2MjI4_a487a3ec-cfda-4f22-b0df-3f167eae6852"
      unitRef="usd">7256871000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzIxLTMtMS0xLTI2MjI4_3bcf8221-3620-47ad-9045-5865111aa31a"
      unitRef="usd">6915420000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI0LTEtMS0xLTI2MjI4_91058ae3-0c66-4b32-8095-8df5162be025"
      unitRef="usd">22244000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI0LTMtMS0xLTI2MjI4_f9934826-4737-4822-9c81-e08504a6eec4"
      unitRef="usd">15732000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI1LTEtMS0xLTI2MjI4_9cd68c48-fdee-4e7d-a6cc-ef161ef6d189"
      unitRef="usd">81794000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI1LTMtMS0xLTI2MjI4_d583e9e3-25ac-4dd2-801a-78ceaf8ce63e"
      unitRef="usd">80998000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI2LTEtMS0xLTI2MjI4_b6c79fbc-fd8a-4098-b79c-aaaff3b5073b"
      unitRef="usd">81676000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI2LTMtMS0xLTI2MjI4_4203a541-3987-4c18-af5f-3507e40e39c9"
      unitRef="usd">110305000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI4LTEtMS0xLTI2MjI4_bdb30f6b-b815-4828-aaa7-2c413eb6d596"
      unitRef="usd">31236000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzI4LTMtMS0xLTI2MjI4_bdd86e09-4663-4998-b821-ed9a2f89ddf2"
      unitRef="usd">16316000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzMwLTEtMS0xLTI2MjI4_35d6af29-0de8-4bdf-b236-9a61c6ebf257"
      unitRef="usd">26268000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzMwLTMtMS0xLTI2MjI4_ff5649f0-3bf3-444b-91b2-8ba83395e024"
      unitRef="usd">32648000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzMxLTEtMS0xLTI2MjI4_bc9c1b98-352a-4447-ae1f-625267cfb6cb"
      unitRef="usd">95471000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzMxLTMtMS0xLTI2MjI4_0352fa5f-8d91-4d64-9711-53d7214febba"
      unitRef="usd">74851000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzMyLTEtMS0xLTI2MjI4_8b7acabd-c996-4c1b-9c36-776efc5e8252"
      unitRef="usd">338689000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzMyLTMtMS0xLTI2MjI4_2b093ed7-f847-4cc5-a793-ac1b9ab0a92c"
      unitRef="usd">330850000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM0LTEtMS0xLTI2MjI4_582a1a5a-5b9a-4cc4-a95f-3d8e85e3b18c"
      unitRef="usd">987944000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM0LTMtMS0xLTI2MjI4_0607598c-39cc-40d3-afdf-f1ae4bd8a763"
      unitRef="usd">986715000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM0LTMtMS0xLTI2MjI4_d4fde320-e69b-45b8-ae96-e1ab8f68f1b9"
      unitRef="usd">986715000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM2LTEtMS0xLTI2MjI4_9c3d6bfa-2ac5-44ec-87c5-b8b38e99a96f"
      unitRef="usd">98656000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM2LTMtMS0xLTI2MjI4_a86d9c80-81e8-4632-9f10-485ec1bc3e70"
      unitRef="usd">72991000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM3LTEtMS0xLTI2MjI4_46d6e130-9e1c-4a14-a559-943ac2b37440"
      unitRef="usd">12496000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM3LTMtMS0xLTI2MjI4_12bdc07a-699b-4b48-87a9-3864ad635e64"
      unitRef="usd">25282000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <csgp:LeaseAndOtherLiabilitiesNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM4LTEtMS0xLTI2MjI4_6566ffa7-e069-4b3d-88bf-f79e02bbeef2"
      unitRef="usd">107414000</csgp:LeaseAndOtherLiabilitiesNoncurrent>
    <csgp:LeaseAndOtherLiabilitiesNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM4LTMtMS0xLTI2MjI4_1fa6d6d2-3ff0-484f-9e34-6b760c641b2b"
      unitRef="usd">124223000</csgp:LeaseAndOtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM5LTEtMS0xLTI2MjI4_326a7949-9760-4992-8f36-9b7f2dcc42fb"
      unitRef="usd">1545199000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzM5LTMtMS0xLTI2MjI4_f8713d81-796f-427e-99b4-12b25de7d78a"
      unitRef="usd">1540061000</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTAtMS0xLTI2MjI4L3RleHRyZWdpb246MDUzNmQxYTEwNzUyNDZiNjhhMTdmMzgyZTQ5M2NmNjdfMTA5OTUxMTYyNzg2MA_4401ffcf-f226-4726-a9c9-2f281fdf3b3f"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTAtMS0xLTI2MjI4L3RleHRyZWdpb246MDUzNmQxYTEwNzUyNDZiNjhhMTdmMzgyZTQ5M2NmNjdfMTA5OTUxMTYyNzg2MA_fdc629b3-5ec3-4d70-9171-03f18fa3b78b"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTAtMS0xLTI2MjI4L3RleHRyZWdpb246MDUzNmQxYTEwNzUyNDZiNjhhMTdmMzgyZTQ5M2NmNjdfMTA5OTUxMTYyNzg2OA_6c81112b-7b6e-48e0-a02c-d090db66a683"
      unitRef="shares">2000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTAtMS0xLTI2MjI4L3RleHRyZWdpb246MDUzNmQxYTEwNzUyNDZiNjhhMTdmMzgyZTQ5M2NmNjdfMTA5OTUxMTYyNzg2OA_842a2b89-5f22-4efe-af08-12164028c99a"
      unitRef="shares">2000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTAtMS0xLTI2MjI4L3RleHRyZWdpb246MDUzNmQxYTEwNzUyNDZiNjhhMTdmMzgyZTQ5M2NmNjdfMTA5OTUxMTYyNzg3NQ_af8b52ff-9168-4de4-bc3d-b6470384698c"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTAtMS0xLTI2MjI4L3RleHRyZWdpb246MDUzNmQxYTEwNzUyNDZiNjhhMTdmMzgyZTQ5M2NmNjdfMTA5OTUxMTYyNzg3NQ_f034b558-df32-40ad-9af7-266a6efd4d63"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockValue
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTEtMS0xLTI2MjI4_a43bd8bd-cd80-4942-a7ab-635965ac3479"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQyLTMtMS0xLTI2MjI4_2e838846-26a5-470e-b041-33245a5dfd7b"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTA5OTUxMTYyNzkyOQ_5de92c26-b1aa-4806-bc45-b28cfdcb79c7"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTA5OTUxMTYyNzkyOQ_7aed4585-8f0c-4aee-9871-8cdfedaa3538"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTA5OTUxMTYyNzkzOA_29000b97-c394-4117-872a-d0883a3b8fc0"
      unitRef="shares">1200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTA5OTUxMTYyNzkzOA_6947c79d-ca41-4759-a771-0562f44d610a"
      unitRef="shares">1200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
      unitRef="shares">394936000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
      unitRef="shares">394936000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0Njk_a3fc89f9-a373-4a2e-a163-086bfd9339aa"
      unitRef="shares">394285000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0Njk_e6f6cfae-3581-429d-899a-921738e37e27"
      unitRef="shares">394285000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTEtMS0xLTI2MjI4_58286fb0-dea9-43a7-b90e-3bd087d2bb2a"
      unitRef="usd">3946000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTMtMS0xLTI2MjI4_6f293aac-53a2-4444-b6f6-5050447c5a49"
      unitRef="usd">3943000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ0LTEtMS0xLTI2MjI4_7a1771ff-fe6b-4f95-8e33-64ba7b4e659d"
      unitRef="usd">4253318000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ0LTMtMS0xLTI2MjI4_208b7140-e3c5-4a48-98e8-1e40bfd6ee8e"
      unitRef="usd">4204703000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ1LTEtMS0xLTI2MjI4_83589839-4721-4117-9a3e-0d9b58d1ae16"
      unitRef="usd">-5758000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ1LTMtMS0xLTI2MjI4_34a34c2b-9179-4cf1-8478-c1a0f207fb6c"
      unitRef="usd">-889000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ2LTEtMS0xLTI2MjI4_957d5e28-a17e-4c45-bd5f-436d271bd6ff"
      unitRef="usd">1460166000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ2LTMtMS0xLTI2MjI4_295735b5-6330-429f-b49e-e62eb5355043"
      unitRef="usd">1167602000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ3LTEtMS0xLTI2MjI4_1c552fab-4613-47d4-9828-bbd0c89faeae"
      unitRef="usd">5711672000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ3LTMtMS0xLTI2MjI4_887a3c1f-ab67-47f6-b87a-34f364b12685"
      unitRef="usd">5375359000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ4LTEtMS0xLTI2MjI4_e9b46d1e-5407-45df-93aa-abc39c9239e9"
      unitRef="usd">7256871000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQ4LTMtMS0xLTI2MjI4_66b87352-fb4d-47c2-ac7e-9e79e74f8296"
      unitRef="usd">6915420000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90ZXh0cmVnaW9uOjRmNGYyODg1MjZhZTQyMDZiNmI3ZjJiYTEwOGEwY2Y2XzQzOTgwNDY1MTIzOTA_fc1876bb-d30f-46ba-8c9d-51d1b0e1ece3"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:SharesOutstanding
      contextRef="ib30b2472224d4b55ad056e8672467c86_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMS0xLTEtMjYyMjg_314445cd-4d0e-45c5-80a0-ca58761a0277"
      unitRef="shares">364588000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib30b2472224d4b55ad056e8672467c86_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMy0xLTEtMjYyMjg_5855c42a-88af-475f-9f4c-b186e2286568"
      unitRef="usd">3646000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia1e6401d2a1145fd9d4efb0fd8eaca57_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItNS0xLTEtMjYyMjg_8bbd21c1-56d1-46a4-b38f-764a147fed00"
      unitRef="usd">2416530000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="icde31c4052934478a9cbb4add162a826_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItNy0xLTEtMjYyMjg_556c2396-cc29-4861-87e5-f2829fbbab32"
      unitRef="usd">-11688000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic4ed5c24257242a0a38c43944bbcfd98_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItOS0xLTEtMjYyMjg_bd64a4ce-8181-41b0-8ec8-38af1050051b"
      unitRef="usd">613454000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic69c2b7c8eff4d2487b7bf224e3d4b4b_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMTEtMS0xLTI2MjI4_8dd597e1-5c83-4d78-8e18-d7d9963c5104"
      unitRef="usd">3021942000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i77d35e82380b4d0daff5c0cf440c9771_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMtOS0xLTEtMjYyMjg_5ae14c40-66bf-4cf6-9f7f-7294411cbcae"
      unitRef="usd">12057000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8747c2bd03fb4c9db4dec7eb12ca805f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMtMTEtMS0xLTI2MjI4_076ee792-5163-486f-afe7-9f17ff2e0120"
      unitRef="usd">12057000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i5e03a390a4714f5494ed84c2f1cbec6e_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMS0xLTEtMjYyMjg_cd7fb358-4ed6-41a1-b21b-6c4eabc17128"
      unitRef="shares">364588000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i5e03a390a4714f5494ed84c2f1cbec6e_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMy0xLTEtMjYyMjg_412ceedb-9709-48e6-8c6d-06d4710fc486"
      unitRef="usd">3646000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia69b41de96a14115b70dcf49b76a4769_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtNS0xLTEtMjYyMjg_d3412f99-a837-454d-8e55-f946b411dae8"
      unitRef="usd">2416530000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4429e79d4ca74b01a6a78ffdf0db2833_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtNy0xLTEtMjYyMjg_f39b89b8-444b-4daf-a72f-000d02c2262f"
      unitRef="usd">-11688000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id178099be5da4b6882198619afc6f2d2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtOS0xLTEtMjYyMjg_7e585474-bd70-410f-b960-93cf0ff763b7"
      unitRef="usd">625511000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9e51e58d362048dda1d69142178baf76_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMTEtMS0xLTI2MjI4_14364ed8-0d8c-4597-8d73-dc3787124fdc"
      unitRef="usd">3033999000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ib9ab630979bf45e496e226d7b34a777c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzUtOS0xLTEtMjYyMjg_bf31a78e-2f84-49dd-bc14-ed3effc1e8f4"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzUtMTEtMS0xLTI2MjI4_fc903b14-b429-407f-be52-96f1c58582ad"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i32811cd506464bef857b6f0926e435cc_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzYtNy0xLTEtMjYyMjg_e9e54a89-f3b6-4bf1-b3a1-036b079a7291"
      unitRef="usd">3103000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzYtMTEtMS0xLTI2MjI4_40c4614f-b353-4c37-9a5e-3c1916ebf9ca"
      unitRef="usd">3103000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMS0xLTEtMjYyMjg_b1586950-a49f-4bd9-98d5-c1707c95b4b1"
      unitRef="shares">1159000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMy0xLTEtMjYyMjg_8bb346e3-4b04-471d-b3d6-ea69af77b71f"
      unitRef="usd">12000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="if83d662698ba419d90b73d3b6711a800_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctNS0xLTEtMjYyMjg_2dfcaf18-a95d-4090-a77c-86236050ca9b"
      unitRef="usd">18640000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMTEtMS0xLTI2MjI4_39eb7c62-8735-4008-a864-503afe181c5f"
      unitRef="usd">18652000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMS0xLTEtMjYyMjg_4b5f7531-9c9b-45ad-a0e4-de19192448a1"
      unitRef="shares">1680000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMy0xLTEtMjYyMjg_06d49474-fd39-4f36-a0e3-eedca27d393e"
      unitRef="usd">17000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="if83d662698ba419d90b73d3b6711a800_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtNS0xLTEtMjYyMjg_ddd7f65e-4979-42b4-ad1b-0545766c2878"
      unitRef="usd">-17000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMTEtMS0xLTI2MjI4_b4993d16-a8d2-4f8f-b563-72055849f825"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMS0xLTEtMjYyMjg_66fcfc78-5680-4e05-a8a7-7ebaa426b7f0"
      unitRef="shares">757000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMy0xLTEtMjYyMjg_60c15676-f0d3-42e6-8eb9-289129d45e0e"
      unitRef="usd">8000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="if83d662698ba419d90b73d3b6711a800_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktNS0xLTEtMjYyMjg_e2804e63-c8ee-487b-b924-159bd04a1b44"
      unitRef="usd">27569000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMTEtMS0xLTI2MjI4_2ec8cd5a-5214-4247-9611-37d6e27d4e0f"
      unitRef="usd">27577000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="if83d662698ba419d90b73d3b6711a800_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEwLTUtMS0xLTI2MjI4_e51f0e23-f4b0-41f6-8653-3261b8e2eb00"
      unitRef="usd">51818000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEwLTExLTEtMS0yNjIyOA_ddc84a7f-60c6-4fcd-8162-28b982f86c0d"
      unitRef="usd">51818000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <csgp:APICShareBasedPaymentArrangementManagementPlan
      contextRef="if83d662698ba419d90b73d3b6711a800_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzExLTUtMS0xLTI2MjI4_c096b1da-da96-4809-83cf-0b06ac523ff5"
      unitRef="usd">3491000</csgp:APICShareBasedPaymentArrangementManagementPlan>
    <csgp:APICShareBasedPaymentArrangementManagementPlan
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzExLTExLTEtMS0yNjIyOA_8ac8f723-c1e6-4c3c-b175-237f78ca878b"
      unitRef="usd">3491000</csgp:APICShareBasedPaymentArrangementManagementPlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTEtMS0xLTI2MjI4_45fb0725-9f41-4efb-9663-3f414f5a3273"
      unitRef="shares">136000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i96235105cebd4bc09f50a119583d3a0b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTMtMS0xLTI2MjI4_d1028866-f235-4fcc-b7bb-475eaf2eaaf9"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="if83d662698ba419d90b73d3b6711a800_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTUtMS0xLTI2MjI4_89983ce0-09fe-45d7-8727-b4e6b2321101"
      unitRef="usd">7143000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTExLTEtMS0yNjIyOA_f17e6d86-75f7-4046-bd12-db18811c1172"
      unitRef="usd">7144000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:SharesOutstanding
      contextRef="i0fc88aba9ea94171908eb946befc1619_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTEtMS0xLTI2MjI4_97d5e9d7-e492-4d1a-816d-72d15b7e337b"
      unitRef="shares">366806000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i0fc88aba9ea94171908eb946befc1619_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTMtMS0xLTI2MjI4_bd1bbcc1-be0e-459e-961e-1ab29aed7939"
      unitRef="usd">3668000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6c0605e2f8e845f981a1cb9efe2a7621_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTUtMS0xLTI2MjI4_db75f716-c525-47fa-b8fc-cd625b13f69b"
      unitRef="usd">2470036000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8ccc4c9ab19f49ee89533574587f68fd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTctMS0xLTI2MjI4_e1b650cc-8d2b-4b01-a88e-7ed4da9eced2"
      unitRef="usd">-8585000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6251af9e7e9a4ac18a1afe4fddd8954c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTktMS0xLTI2MjI4_23bb4306-4ca8-4fca-a272-a69593cf0506"
      unitRef="usd">940474000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTExLTEtMS0yNjIyOA_16cfa3e2-df66-47f8-8978-d3fac69bd877"
      unitRef="usd">3405593000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="iacc3c6d79c2648a5aa62972c124a6d95_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE1LTktMS0xLTI2MjI4_d8c58ec1-1e3b-4630-bb39-f533bb910401"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE1LTExLTEtMS0yNjIyOA_d17057b9-8d7f-4a0f-a639-3906ca63475b"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ic0d3cb30726b42ff9e92539c2963c86b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE2LTctMS0xLTI2MjI4_bda7700c-bb9a-48bb-bff5-ee50e440e718"
      unitRef="usd">7696000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE2LTExLTEtMS0yNjIyOA_c2963f42-0480-4d09-af45-0340087bf3ef"
      unitRef="usd">7696000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTEtMS0xLTI2MjI4_4f3f7373-123a-4cd9-9296-ec97847fc29a"
      unitRef="shares">953000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTMtMS0xLTI2MjI4_e3ce70c2-d7dc-493b-8240-f10ad43bed76"
      unitRef="usd">10000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTUtMS0xLTI2MjI4_22d2a75f-b0b2-4c87-b2ea-0ed6bb042de6"
      unitRef="usd">21861000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTExLTEtMS0yNjIyOA_c4aefbdd-7225-4d19-9500-91e0311d5fdc"
      unitRef="usd">21871000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTEtMS0xLTI2MjI4_f040fe92-c55e-49a8-941a-98a678e75513"
      unitRef="shares">1012000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTMtMS0xLTI2MjI4_1cf1c417-230a-4a8e-bf32-da6222a18305"
      unitRef="usd">10000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTUtMS0xLTI2MjI4_50f38b17-cc03-472c-889a-90ce81f4e262"
      unitRef="usd">-10000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTExLTEtMS0yNjIyOA_ce5eff1f-385e-41c9-904a-d182a7222b77"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTEtMS0xLTI2MjI4_eb8436b4-04f8-4198-a418-fe521bc99bf6"
      unitRef="shares">952000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTMtMS0xLTI2MjI4_28bd53ca-083c-4d31-9cb1-d0d7d71a1e75"
      unitRef="usd">9000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTUtMS0xLTI2MjI4_89022f87-bc8b-4d16-ba4c-fbfe47c757fa"
      unitRef="usd">38857000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTExLTEtMS0yNjIyOA_af84700a-ed05-4223-93fe-3651714f8792"
      unitRef="usd">38866000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIwLTUtMS0xLTI2MjI4_ac2eff1a-9b11-4d42-a2d5-6a7a83035946"
      unitRef="usd">52624000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIwLTExLTEtMS0yNjIyOA_c1c10d32-1bdb-405b-b9f8-dbb4032843a4"
      unitRef="usd">52624000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTEtMS0xLTI2MjI4_9d3207d8-72f1-48a7-8e4f-4a70ea325cca"
      unitRef="shares">130000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTMtMS0xLTI2MjI4_125701f5-232f-42eb-9853-917bc3497c11"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTUtMS0xLTI2MjI4_4173badb-e1fa-4355-b800-1726430f4975"
      unitRef="usd">9342000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTExLTEtMS0yNjIyOA_b375195f-660f-4034-83d0-e2fb9cc035a9"
      unitRef="usd">9343000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTEtMS0xLTI2MjI4_d234af9a-e6c3-4ec0-8c65-334b78bfb0e6"
      unitRef="shares">26336000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="ica325fe4f4d942ddaf842b2246de9577_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTMtMS0xLTI2MjI4_57a048d2-ab07-4cfa-b5da-0c4dccf02c3d"
      unitRef="usd">263000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6c78cd1625b441edbbf230520c05be2e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTUtMS0xLTI2MjI4_6a261623-4341-489e-a672-cf59fef1c274"
      unitRef="usd">1689707000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTExLTEtMS0yNjIyOA_9c470365-c944-4112-94e4-3ab6b0a44824"
      unitRef="usd">1689970000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:SharesOutstanding
      contextRef="i4951c834fbac4bf8b6fdfe441a3343db_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTEtMS0xLTI2MjI4_bb949db7-6934-420d-8cbe-c57195344bc1"
      unitRef="shares">394285000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i4951c834fbac4bf8b6fdfe441a3343db_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTMtMS0xLTI2MjI4_106ce42a-b0aa-42a5-96f1-95337f51daf1"
      unitRef="usd">3943000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3d43eec4443448c7b9b0afad7202be68_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTUtMS0xLTI2MjI4_e0a14538-4cce-47bc-984b-66fd05b10b56"
      unitRef="usd">4204703000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i80eb52a4695a4fe2a8c8b504f80f3d90_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTctMS0xLTI2MjI4_8a4f1f62-4832-4112-9cb4-c348ab4b560e"
      unitRef="usd">-889000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic5d4a32df38b47229cd2530526fd1eb7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTktMS0xLTI2MjI4_83a6888d-4660-4c57-a3c2-f1c35855f56e"
      unitRef="usd">1167602000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTExLTEtMS0yNjIyOA_991d867c-51d5-499a-8770-b221c78278f3"
      unitRef="usd">5375359000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i01a5c9c85f614c20a041dc0600890c0c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI3LTktMS0xLTI2MjI4_37a92158-89b5-482c-90ae-5557e1bb3cb2"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI3LTExLTEtMS0yNjIyOA_f9b965cb-ac13-4d1a-8832-273d0c72a621"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ia7f76febea94415e88c3465693209281_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI4LTctMS0xLTI2MjI4_fc6b89c9-40bf-4a31-95a3-6a39ecd16abc"
      unitRef="usd">-4869000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI4LTExLTEtMS0yNjIyOA_43e8c903-3d54-4639-ac1b-4be8445986ba"
      unitRef="usd">-4869000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTEtMS0xLTI2MjI4_c462c14f-ba6e-4460-b165-d792f474108c"
      unitRef="shares">206000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTMtMS0xLTI2MjI4_023bfdd6-b848-4015-8ba4-700c4e76530b"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i45f88339af2848b9a3031622f8dab586_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTUtMS0xLTI2MjI4_0141cf7e-0604-4be7-898a-0fa8065c3c79"
      unitRef="usd">6339000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTExLTEtMS0yNjIyOA_a34eb9da-ea20-4936-9877-96077810e01c"
      unitRef="usd">6341000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTEtMS0xLTI2MjI4_b181748b-5f27-4985-b1eb-e36260e7ce9d"
      unitRef="shares">862000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTMtMS0xLTI2MjI4_657c2a93-0376-41e8-a01c-e6ac0879d56c"
      unitRef="usd">8000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i45f88339af2848b9a3031622f8dab586_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTUtMS0xLTI2MjI4_c78605c8-9496-41a0-866e-1b1af8f716ba"
      unitRef="usd">-7000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTExLTEtMS0yNjIyOA_726ed51a-8c37-4c98-8bb3-3aa892017187"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTEtMS0xLTI2MjI4_0d897b9e-78fa-4253-9188-bcc6626baf57"
      unitRef="shares">569000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTMtMS0xLTI2MjI4_589f602d-46b9-43db-8715-148b7e6ddec3"
      unitRef="usd">7000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="i45f88339af2848b9a3031622f8dab586_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTUtMS0xLTI2MjI4_e26ea914-a290-4c32-85ec-12671ff1963a"
      unitRef="usd">33307000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTExLTEtMS0yNjIyOA_1b409579-f58d-494c-9133-df44a23affe7"
      unitRef="usd">33314000</csgp:AdjustmentsToAdditionalPaidInCapitalRestrictedStockSurrendered>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i45f88339af2848b9a3031622f8dab586_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMyLTUtMS0xLTI2MjI4_3bbf1958-5b9b-4e9d-a8ec-d4f0760e27a8"
      unitRef="usd">62585000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMyLTExLTEtMS0yNjIyOA_537affab-1d2e-44ab-9167-2d3fd2b948e5"
      unitRef="usd">62585000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i75a82a97d90a4c998494c2167bacf2cd_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTEtMS0xLTI2MjI4_95cdd6c9-1654-48eb-b1f2-afcd72094147"
      unitRef="shares">152000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i45f88339af2848b9a3031622f8dab586_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTUtMS0xLTI2MjI4_e081b70a-67c8-4e96-ad9d-81b9141d05fe"
      unitRef="usd">13005000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTExLTEtMS0yNjIyOA_a7b88afe-043c-41be-823c-3694e9b2ce35"
      unitRef="usd">13005000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:CommonStockSharesIssued
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
      unitRef="shares">394936000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
      unitRef="shares">394936000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia11d42410d484f4cab1f0ba78d2b10e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTMtMS0xLTI2MjI4_c973fa76-390a-4d1b-945b-8d8ae512a1d7"
      unitRef="usd">3946000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ice68a5788b5c40eabe832d0fd65873b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTUtMS0xLTI2MjI4_f48752dd-3acf-4883-8c17-eac7dab6254c"
      unitRef="usd">4253318000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idd44d949f1bb4760b459dd5192ed5175_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTctMS0xLTI2MjI4_f6a7b0f8-2011-49d5-ba99-8ed486232dae"
      unitRef="usd">-5758000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6b9d1bbf40584a23899117aa73f63a11_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTktMS0xLTI2MjI4_929ce5d4-771c-43dc-8317-00a6caca303b"
      unitRef="usd">1460166000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTExLTEtMS0yNjIyOA_bef87b87-a689-45b7-b591-18a60d02a3a8"
      unitRef="usd">5711672000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDI_650dde2e-eb9f-4616-b331-07253ab28342"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:NetIncomeLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMtMS0xLTEtMjYyMjg_0ad65518-15cb-4bee-a0bc-de2b445ab416"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMtMy0xLTEtMjYyMjg_a3b0ba5f-4aec-4117-8f72-59f0a6966e16"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMtNS0xLTEtMjYyMjg_bfd3359f-b2b0-470c-aef3-287a9b72cc08"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUtMS0xLTEtMjYyMjg_bca798f1-aea7-4dde-bef2-99a348b0b03f"
      unitRef="usd">139558000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUtMy0xLTEtMjYyMjg_f71c5ba6-4703-4409-8cf1-730b867a4056"
      unitRef="usd">116944000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUtNS0xLTEtMjYyMjg_9af7c9ac-f3e0-48bd-8164-cdb13306a20e"
      unitRef="usd">81165000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AmortizationOfDeferredSalesCommissions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYtMS0xLTEtMjYyMjg_ce06ea19-8e5b-4963-89b9-fc7f3e42ab8d"
      unitRef="usd">63391000</us-gaap:AmortizationOfDeferredSalesCommissions>
    <us-gaap:AmortizationOfDeferredSalesCommissions
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYtMy0xLTEtMjYyMjg_2db41fb2-098a-466c-ac88-2b7b50a80675"
      unitRef="usd">60516000</us-gaap:AmortizationOfDeferredSalesCommissions>
    <us-gaap:AmortizationOfDeferredSalesCommissions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYtNS0xLTEtMjYyMjg_be266074-6f9f-41d2-b932-d83cab414c5d"
      unitRef="usd">53421000</us-gaap:AmortizationOfDeferredSalesCommissions>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzctMS0xLTEtMjYyMjg_d282c5d7-4838-4e8e-ab83-c223fc985aa1"
      unitRef="usd">2327000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzctMy0xLTEtMjYyMjg_8d6cc717-c7d0-4888-820d-ff5facd51c34"
      unitRef="usd">1658000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzctNS0xLTEtMjYyMjg_e8beff83-9b40-49d4-b099-724aff13f5bc"
      unitRef="usd">876000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <csgp:NonCashLeaseExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzgtMS0xLTEtMjYyMjg_55e55d6c-f083-498c-9478-b4d6ad9e08f8"
      unitRef="usd">28485000</csgp:NonCashLeaseExpense>
    <csgp:NonCashLeaseExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzgtMy0xLTEtMjYyMjg_71b9f1a1-8d42-4159-b723-c171bad3fdc0"
      unitRef="usd">26326000</csgp:NonCashLeaseExpense>
    <csgp:NonCashLeaseExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzgtNS0xLTEtMjYyMjg_162afd12-1bc5-4139-8361-02392d1b96c7"
      unitRef="usd">22748000</csgp:NonCashLeaseExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE0LTEtMS0xLTI2MjI4_80e485e4-2005-4a1c-9351-7cebfd4762de"
      unitRef="usd">63709000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE0LTMtMS0xLTI2MjI4_414053e0-088b-4f4c-ae19-f75dcfd51ec3"
      unitRef="usd">53450000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE0LTUtMS0xLTI2MjI4_a8f73b2d-534c-4d7d-b620-3d9e9205d6b9"
      unitRef="usd">52255000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE2LTEtMS0xLTI2MjI4_ef9dd1ec-502f-4176-bae0-03a719ce36dd"
      unitRef="usd">24165000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE2LTMtMS0xLTI2MjI4_686f5813-8c4c-48b5-bf9b-f2f1627776e7"
      unitRef="usd">-11530000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE2LTUtMS0xLTI2MjI4_88898376-9f45-4586-83e7-113052021547"
      unitRef="usd">8220000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE3LTEtMS0xLTI2MjI4_10daaa93-7547-4baa-bdfd-3ced2b367d0f"
      unitRef="usd">10928000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE3LTMtMS0xLTI2MjI4_8da20a29-505b-4c6c-b8ab-baa14097da68"
      unitRef="usd">25212000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE3LTUtMS0xLTI2MjI4_b5e7b720-5b0b-4a00-be42-f0e31c1eeae9"
      unitRef="usd">10978000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE4LTEtMS0xLTI2MjI4_47881699-0d00-4460-86eb-4210d274310c"
      unitRef="usd">-654000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE4LTMtMS0xLTI2MjI4_13f0c3b4-3e27-45f6-b4e9-80d149a8f136"
      unitRef="usd">288000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzE4LTUtMS0xLTI2MjI4_5e52c1e7-2e54-4149-9663-04a10176ef79"
      unitRef="usd">105000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIwLTEtMS0xLTI2MjI4_409167e9-7cae-46d8-ac99-057acbe56241"
      unitRef="usd">29630000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIwLTMtMS0xLTI2MjI4_1f1aa944-6055-4a76-8ffd-0973fb8e0a5b"
      unitRef="usd">36118000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIwLTUtMS0xLTI2MjI4_df41f344-7c58-4d51-b304-25098f6f6488"
      unitRef="usd">5014000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIxLTEtMS0xLTI2MjI4_dba52885-6a7e-4af1-879c-b58278d054c9"
      unitRef="usd">14873000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIxLTMtMS0xLTI2MjI4_3a1ae9ac-b28d-48f5-900c-2444952cb9a8"
      unitRef="usd">-1936000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIxLTUtMS0xLTI2MjI4_e83a8948-12e6-439d-b1d5-120edf86f89c"
      unitRef="usd">14244000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <csgp:IncreaseDecreaseDeferredCommissions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIyLTEtMS0xLTI2MjI4_4c427499-b9be-4d0f-93f4-127e00a69c65"
      unitRef="usd">-72038000</csgp:IncreaseDecreaseDeferredCommissions>
    <csgp:IncreaseDecreaseDeferredCommissions
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIyLTMtMS0xLTI2MjI4_2bebb552-5737-4e23-9744-79e2bf1a1d3c"
      unitRef="usd">-64355000</csgp:IncreaseDecreaseDeferredCommissions>
    <csgp:IncreaseDecreaseDeferredCommissions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzIyLTUtMS0xLTI2MjI4_6c3b8039-1b66-4f3e-8a9b-4b77309e60ee"
      unitRef="usd">-66688000</csgp:IncreaseDecreaseDeferredCommissions>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI0LTEtMS0xLTI2MjI4_ebb48d8a-65c1-4523-a8cc-9aaf0c72d17a"
      unitRef="usd">-30051000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI0LTMtMS0xLTI2MjI4_509db32c-a7e7-4bbe-a4ff-b3ca9e4d2853"
      unitRef="usd">100846000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI0LTUtMS0xLTI2MjI4_b340eea9-4867-4a4e-985f-f15599517dca"
      unitRef="usd">17751000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <csgp:IncreaseDecreaseInLeaseLiability
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI1LTEtMS0xLTI2MjI4_29b3ff5a-9fe4-40ee-ab83-591b3ccf47ce"
      unitRef="usd">-30904000</csgp:IncreaseDecreaseInLeaseLiability>
    <csgp:IncreaseDecreaseInLeaseLiability
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI1LTMtMS0xLTI2MjI4_4b53f461-8087-440e-a8ad-8892a31ca065"
      unitRef="usd">-30497000</csgp:IncreaseDecreaseInLeaseLiability>
    <csgp:IncreaseDecreaseInLeaseLiability
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI1LTUtMS0xLTI2MjI4_dc1e166c-c12e-495c-bba8-8dfd28385f0b"
      unitRef="usd">-25442000</csgp:IncreaseDecreaseInLeaseLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI2LTEtMS0xLTI2MjI4_56a59f29-6d30-496b-bdac-0dce85affa76"
      unitRef="usd">5860000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI2LTMtMS0xLTI2MjI4_a7a79bde-f67f-4380-9e94-9b0e6dbaca47"
      unitRef="usd">10352000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI2LTUtMS0xLTI2MjI4_c11d836a-2fd9-457c-89b5-fc00c5bc0a4a"
      unitRef="usd">-577000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI3LTEtMS0xLTI2MjI4_c5dc41dd-b890-4aa2-b98c-c4953069c5fd"
      unitRef="usd">17396000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI3LTMtMS0xLTI2MjI4_49fb090a-d6eb-48b9-ad80-a26b4db7eb18"
      unitRef="usd">2188000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI3LTUtMS0xLTI2MjI4_3368f1d3-1769-4818-8736-6d07f382312d"
      unitRef="usd">7911000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <csgp:IncreaseDecreaseLeaseRightofUseandOtherAssets
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI4LTEtMS0xLTI2MjI4_7e697be1-ff23-48d9-b642-4282e1b0a7ab"
      unitRef="usd">-502000</csgp:IncreaseDecreaseLeaseRightofUseandOtherAssets>
    <csgp:IncreaseDecreaseLeaseRightofUseandOtherAssets
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI4LTMtMS0xLTI2MjI4_b1c92572-560e-448d-b0b4-8586f36e7ba4"
      unitRef="usd">1762000</csgp:IncreaseDecreaseLeaseRightofUseandOtherAssets>
    <csgp:IncreaseDecreaseLeaseRightofUseandOtherAssets
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI4LTUtMS0xLTI2MjI4_a3a1c1f2-5a68-41c8-9dd6-55feda07a8de"
      unitRef="usd">-648000</csgp:IncreaseDecreaseLeaseRightofUseandOtherAssets>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI5LTEtMS0xLTI2MjI4_172b759c-426e-4c6b-978e-4ca350f953a4"
      unitRef="usd">469731000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI5LTMtMS0xLTI2MjI4_dfe9ae00-e3b2-4fec-8826-e737c4d2922b"
      unitRef="usd">486106000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzI5LTUtMS0xLTI2MjI4_6491c0fe-99bd-4688-9d3b-6d075e26e152"
      unitRef="usd">457780000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMyLTEtMS0xLTI2MjI4_f82d2263-1975-411e-8573-7071992062b7"
      unitRef="usd">0</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMyLTMtMS0xLTI2MjI4_2b8bed10-4897-4b23-a796-b3b9ec4b9b4f"
      unitRef="usd">10259000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMyLTUtMS0xLTI2MjI4_ce590ceb-4089-4544-9093-e7a6e73ffaee"
      unitRef="usd">0</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <csgp:ProceedsFromSaleOfPropertyAndEquipmentAndOtherAssets
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMzLTEtMS0xLTQyMDE5_ee25ce36-15e4-4709-a5f6-48dc3c26e63f"
      unitRef="usd">612000</csgp:ProceedsFromSaleOfPropertyAndEquipmentAndOtherAssets>
    <csgp:ProceedsFromSaleOfPropertyAndEquipmentAndOtherAssets
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMzLTMtMS0xLTQyMDE5_8e4c7d99-11ec-4c60-8618-86900c022b11"
      unitRef="usd">0</csgp:ProceedsFromSaleOfPropertyAndEquipmentAndOtherAssets>
    <csgp:ProceedsFromSaleOfPropertyAndEquipmentAndOtherAssets
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMzLTUtMS0xLTQyMDE5_74dda014-6a21-45de-82d1-df00c26b41a1"
      unitRef="usd">0</csgp:ProceedsFromSaleOfPropertyAndEquipmentAndOtherAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMzLTEtMS0xLTI2MjI4_df5494e0-5df5-4ba5-af97-61b3d9b01473"
      unitRef="usd">123764000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMzLTMtMS0xLTI2MjI4_346f1098-b8d9-406f-9379-b25598f21112"
      unitRef="usd">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzMzLTUtMS0xLTI2MjI4_408c33b4-669e-4969-8d61-65327a0697a8"
      unitRef="usd">0</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <csgp:PaymentsToAcquirePropertyAndEquipmentAndOtherAssets
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM0LTEtMS0xLTI2MjI4_c7f17d1d-eb29-4039-acb1-e2e79e276a06"
      unitRef="usd">65220000</csgp:PaymentsToAcquirePropertyAndEquipmentAndOtherAssets>
    <csgp:PaymentsToAcquirePropertyAndEquipmentAndOtherAssets
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM0LTMtMS0xLTI2MjI4_150f00e3-353b-4e09-93e1-9f4cf04ae422"
      unitRef="usd">48347000</csgp:PaymentsToAcquirePropertyAndEquipmentAndOtherAssets>
    <csgp:PaymentsToAcquirePropertyAndEquipmentAndOtherAssets
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM0LTUtMS0xLTI2MjI4_ca93f346-7683-4c51-ba7d-4cb68f0766ed"
      unitRef="usd">46197000</csgp:PaymentsToAcquirePropertyAndEquipmentAndOtherAssets>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM1LTEtMS0xLTI2MjI4_fb2d8a8b-9bc7-495b-b921-f2c4641b640c"
      unitRef="usd">192971000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM1LTMtMS0xLTI2MjI4_06addd53-4ef7-4a0a-9515-a039f441cf28"
      unitRef="usd">426075000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM1LTUtMS0xLTI2MjI4_5606871c-3929-4cda-bf30-ed3d19b6e16d"
      unitRef="usd">437556000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM2LTEtMS0xLTI2MjI4_d02d8b71-29af-4d3d-9f04-cb78200e36d6"
      unitRef="usd">-381343000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM2LTMtMS0xLTI2MjI4_639cb208-e94a-4072-b2e1-42cb02651c31"
      unitRef="usd">-464163000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM2LTUtMS0xLTI2MjI4_599d4c6c-8efb-4061-be61-6d83e3b000f0"
      unitRef="usd">-483753000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM5LTEtMS0xLTI2MjI4_cbcf6903-5b16-4927-a1e0-e10327fb231c"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM5LTMtMS0xLTI2MjI4_7894ec1f-2e1c-4c40-ba54-384983746134"
      unitRef="usd">1744210000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzM5LTUtMS0xLTI2MjI4_45336fd8-932a-4a85-b54c-34bcec7d3b40"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQwLTEtMS0xLTI2MjI4_ad305083-441f-4c7a-b27a-1904bb0bbcfa"
      unitRef="usd">0</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQwLTMtMS0xLTI2MjI4_33e9c74b-c643-4d91-9cf2-8674ca4f8680"
      unitRef="usd">745000000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQwLTUtMS0xLTI2MjI4_6287d512-30ae-43e9-b85c-8ceb5cf62010"
      unitRef="usd">0</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQxLTEtMS0xLTI2MjI4_49b6fee4-f7f0-44d6-8cb7-39a77094c0e2"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQxLTMtMS0xLTI2MjI4_0a7936ec-7782-4a4a-9004-0d3c239803ae"
      unitRef="usd">16647000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQxLTUtMS0xLTI2MjI4_aabded36-4bf0-44e5-9022-6f2215479937"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ0LTEtMS0xLTI2MjI4_d4b9374a-11ad-4a6e-a99b-379fefea4e19"
      unitRef="usd">33314000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ0LTMtMS0xLTI2MjI4_ad895fe3-d455-4676-81dd-2d2e6dc2dafd"
      unitRef="usd">38867000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ0LTUtMS0xLTI2MjI4_71e32721-ee36-452d-aceb-daa9d555de01"
      unitRef="usd">27577000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ1LTEtMS0xLTI2MjI4_1b4efbbd-d7f8-4085-ae9a-75100670eada"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ1LTMtMS0xLTI2MjI4_cfd06f89-0c02-4bad-ac56-9b1465457e07"
      unitRef="usd">1689971000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ1LTUtMS0xLTI2MjI4_b3737d59-7fc2-4c8e-85bc-e3def35fbe55"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <csgp:ProceedsFromExerciseOfStockOptionsAndEspp
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ2LTEtMS0xLTI2MjI4_e2caff4a-9807-4aed-a71c-bef31fa051b1"
      unitRef="usd">18046000</csgp:ProceedsFromExerciseOfStockOptionsAndEspp>
    <csgp:ProceedsFromExerciseOfStockOptionsAndEspp
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ2LTMtMS0xLTI2MjI4_fad3c723-1714-4cdf-8b05-f599aeb06cdb"
      unitRef="usd">30280000</csgp:ProceedsFromExerciseOfStockOptionsAndEspp>
    <csgp:ProceedsFromExerciseOfStockOptionsAndEspp
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ2LTUtMS0xLTI2MjI4_9471bce9-6579-4221-93e3-a3e1f180e60a"
      unitRef="usd">25080000</csgp:ProceedsFromExerciseOfStockOptionsAndEspp>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ3LTEtMS0xLTI2MjI4_44499e33-fd7c-44cf-985e-d573b4e7ee24"
      unitRef="usd">-411000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ3LTMtMS0xLTI2MjI4_b395b376-ff68-47a5-800e-594ce231b348"
      unitRef="usd">-1650000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ3LTUtMS0xLTI2MjI4_c6e29f6f-ce23-4d7c-97ee-567ce44142d0"
      unitRef="usd">-1657000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ4LTEtMS0xLTI2MjI4_fb666ac3-8cf8-43fd-bed5-05cdec745ec6"
      unitRef="usd">-15679000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ4LTMtMS0xLTI2MjI4_8c8009fa-37ff-4f87-a1a6-5a81141db791"
      unitRef="usd">2662297000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzQ4LTUtMS0xLTI2MjI4_0c91578e-de8d-4ea3-a49d-fcfb708fae06"
      unitRef="usd">-4154000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUwLTEtMS0xLTI2MjI4_c50c6123-70c4-4d18-bebd-f4a1d8bf7923"
      unitRef="usd">-1495000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUwLTMtMS0xLTI2MjI4_d7a70b0a-7315-432a-b50c-4d58e49fde73"
      unitRef="usd">941000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUwLTUtMS0xLTI2MjI4_aa044e7b-87ce-425e-aa60-1c15b6c04055"
      unitRef="usd">442000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUxLTEtMS0xLTI2MjI4_8a3ac71d-38e0-4d29-88d2-4c2de840c9ef"
      unitRef="usd">71214000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUxLTMtMS0xLTI2MjI4_7da263ec-18c8-4363-ad68-d740502ad9dc"
      unitRef="usd">2685181000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUxLTUtMS0xLTI2MjI4_086e4a13-3e41-4685-ad2b-1dd8bbe8e2e2"
      unitRef="usd">-29685000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUyLTEtMS0xLTI2MjI4_9883dff5-7878-4aea-bac8-6ed1ba2cee77"
      unitRef="usd">3755912000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUyLTMtMS0xLTI2MjI4_d412a3c5-4382-4f01-aced-fa352b99033a"
      unitRef="usd">1070731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ic69c2b7c8eff4d2487b7bf224e3d4b4b_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUyLTUtMS0xLTI2MjI4_60a28264-74a1-4643-ac55-3a824d0f64d0"
      unitRef="usd">1100416000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUzLTEtMS0xLTI2MjI4_eeab89e2-2656-4e75-a0fe-927c76930610"
      unitRef="usd">3827126000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUzLTMtMS0xLTI2MjI4_ad5dc4ae-8d5f-4938-b3de-44db05f1b4a8"
      unitRef="usd">3755912000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzUzLTUtMS0xLTI2MjI4_724d5bab-5634-48bb-8f74-5bf9c255d5d8"
      unitRef="usd">1070731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzU2LTEtMS0xLTI2MjI4_16764647-57ff-41bd-998f-dfad6282ac2f"
      unitRef="usd">31510000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzU2LTMtMS0xLTI2MjI4_ff3c9c8d-2d0f-4e25-b728-9ac56bab609b"
      unitRef="usd">5948000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzU2LTUtMS0xLTI2MjI4_230b33de-99ca-47e8-b610-f494fb3824eb"
      unitRef="usd">1998000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzU3LTEtMS0xLTI2MjI4_ba421ef6-b888-463b-9fdf-f34f7d5fc09e"
      unitRef="usd">82117000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzU3LTMtMS0xLTI2MjI4_d8536b28-6e70-4cb0-afd4-5f48ce59c075"
      unitRef="usd">45783000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzU3LTUtMS0xLTI2MjI4_22204313-8ab2-42d5-8dc1-1410c5270142"
      unitRef="usd">68935000</us-gaap:IncomeTaxesPaid>
    <csgp:OtherSignificantNoncashTransactionAmountsOwedforAcquisitions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYxLTEtMS0xLTI2MjI4_a913929f-baf0-4161-a92e-baafe71f033e"
      unitRef="usd">60000</csgp:OtherSignificantNoncashTransactionAmountsOwedforAcquisitions>
    <csgp:OtherSignificantNoncashTransactionAmountsOwedforAcquisitions
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYxLTMtMS0xLTI2MjI4_4d88518c-3c66-4d74-a89f-26d130689812"
      unitRef="usd">793000</csgp:OtherSignificantNoncashTransactionAmountsOwedforAcquisitions>
    <csgp:OtherSignificantNoncashTransactionAmountsOwedforAcquisitions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYxLTUtMS0xLTI2MjI4_4d588cdb-9820-4489-9fc9-80728af6cfe2"
      unitRef="usd">1650000</csgp:OtherSignificantNoncashTransactionAmountsOwedforAcquisitions>
    <csgp:CapitalExpendituresIncurredButNotYetPaidAndNoncashLandlordIncentives
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYzLTEtMS0xLTQyOTIz_c8f9aafe-5531-4200-99f4-b83434130205"
      unitRef="usd">2117000</csgp:CapitalExpendituresIncurredButNotYetPaidAndNoncashLandlordIncentives>
    <csgp:CapitalExpendituresIncurredButNotYetPaidAndNoncashLandlordIncentives
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYzLTMtMS0xLTQyOTIz_7c8a560e-b235-4c64-a44a-9d8dbaa19d86"
      unitRef="usd">2364000</csgp:CapitalExpendituresIncurredButNotYetPaidAndNoncashLandlordIncentives>
    <csgp:CapitalExpendituresIncurredButNotYetPaidAndNoncashLandlordIncentives
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzkvZnJhZzphZmUxNTQ2YzVlMjM0OTlmODc5OGM0ZDY4NmJkZTFlMS90YWJsZTo4MDhlZGJjNmFiOTE0ZTNlODM0OGEzNTYxNzM1NjY5Zi90YWJsZXJhbmdlOjgwOGVkYmM2YWI5MTRlM2U4MzQ4YTM1NjE3MzU2NjlmXzYzLTUtMS0xLTQyOTIz_8140a341-20c7-470a-862a-68da4d26d65b"
      unitRef="usd">2160000</csgp:CapitalExpendituresIncurredButNotYetPaidAndNoncashLandlordIncentives>
    <us-gaap:NatureOfOperations
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNDUvZnJhZzo3ZjhkZjhkNWJlNTk0NDcwYWVmMDAzZGIxMzk5OTE4Yi90ZXh0cmVnaW9uOjdmOGRmOGQ1YmU1OTQ0NzBhZWYwMDNkYjEzOTk5MThiXzE1ODA_83b36f73-8351-47b9-bfcb-1b3bfa0a42ac">ORGANIZATION &lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;CoStar Group, Inc. (the &#x201c;Company&#x201d; or &#x201c;CoStar&#x201d;) provides information, analytics, online marketplace and auction services to the commercial real estate and related business community through its comprehensive, proprietary database of commercial real estate information and related tools. The Company provides online marketplaces for commercial real estate, apartment rentals, residential real estate, land for sale and businesses for sale, and its services are typically distributed to its clients under subscription-based agreements that typically renew automatically, a majority of which have a term of at least one year. The Company operates within two operating segments, North America, which includes the United States (&#x201c;U.S.&#x201d;) and Canada, and International, which primarily includes Europe, Asia-Pacific and Latin America. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 24, 2020, the Company acquired Ten-X Holding Company, Inc. and its subsidiaries ("Ten-X"), which operate an online auction platform for commercial real estate. On October 26, 2020, the Company acquired Emporis GmbH, a Germany-based provider of international commercial real estate data and images. On December 22, 2020, the Company acquired Homesnap, Inc. (&#x201c;Homesnap&#x201d;), which operates an online mobile software platform for residential real estate agents and brokers.  On May 24, 2021, the Company acquired Homes Group, LLC ("Homes.com"), a residential real estate advertising and marketing services company primarily operating through its property listing and marketing portal, Homes.com. On October 1, 2021, the Company acquired Comreal Info, a French &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;soci&#xe9;t&#xe9; par actions simplifi&#xe9;e &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;("BureauxLocaux"), the owner and operator of BureauxLocaux, a leading commercial real estate digital marketplace in France. See Note&#160;5 for further discussion of these acquisitions.&lt;/span&gt;&lt;/div&gt;</us-gaap:NatureOfOperations>
    <csgp:SubscriptionBasedLicensingAgreementMinimumTermYears
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNDUvZnJhZzo3ZjhkZjhkNWJlNTk0NDcwYWVmMDAzZGIxMzk5OTE4Yi90ZXh0cmVnaW9uOjdmOGRmOGQ1YmU1OTQ0NzBhZWYwMDNkYjEzOTk5MThiXzU3MA_779e6c75-2762-4cd7-b40e-cd1a6f4cf4ca">P1Y</csgp:SubscriptionBasedLicensingAgreementMinimumTermYears>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNDUvZnJhZzo3ZjhkZjhkNWJlNTk0NDcwYWVmMDAzZGIxMzk5OTE4Yi90ZXh0cmVnaW9uOjdmOGRmOGQ1YmU1OTQ0NzBhZWYwMDNkYjEzOTk5MThiXzYwMg_e49dffa5-d5a6-42e7-b63f-aab080645736"
      unitRef="operating_segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNDgvZnJhZzo3Y2E2NWRmOTYyMTY0NGM0YmMwYTE5NmVhNDIwOTI2Ny90ZXh0cmVnaW9uOjdjYTY1ZGY5NjIxNjQ0YzRiYzBhMTk2ZWE0MjA5MjY3Xzk_2aa26774-c63f-425a-8200-07c9b27904c8">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of Presentation&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements include the accounts of the Company and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. Accounting policies are consistent for each operating segment.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Use of Estimates&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. On an ongoing basis, the Company evaluates its estimates and assumptions, including those related to revenue recognition, allowance for credit losses, the useful lives and recoverability of long-lived and intangible assets, goodwill, income taxes, accounting for business combinations, stock-based compensation, estimating the Company's incremental borrowing rate for its leases, and contingencies, among others. The Company bases these estimates on historical and anticipated results, trends and various other assumptions that it believes are reasonable, including assumptions as to future events. These estimates form the basis for making judgments about the carrying values of assets and liabilities and recorded revenues and expenses. Actual results could differ from these estimates. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company derives revenues primarily by (i) providing access to its proprietary database of commercial real estate information and (ii) providing online marketplaces for professional property management companies, property owners, real estate agents and brokers and landlords, in each case, typically through a fixed monthly fee for its subscription-based services. Other subscription based-services include (i) real estate and lease management solutions to commercial customers, real estate investors and lenders, (ii) access to applications to manage workflow and advertising and marketing services for residential real estate agents through our acquisitions of Homes.com, which was acquired in May 2021, and Homesnap, which was acquired in December 2020, (iii) benchmarking and analytics for the hospitality industry and (iv) market research, portfolio and debt analysis, management and reporting capabilities. See Note 5 for further discussion of acquisitions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subscription contract rates are based on the number of sites, number of users, organization size, the client&#x2019;s business focus, geography, the number and types of services to which a client subscribes, the number of properties a client advertises and the prominence and placement of a client's advertised properties in the search results. The Company&#x2019;s subscription-based license agreements typically renew automatically, and a majority have a term of at least one year.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:13.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also derives revenues from transaction-based services including: (i) an online auction platform for commercial real estate through Ten-X, which was acquired in June 2020, (ii) providing online tenant applications, including background and credit checks, and rental payment processing and (iii) complementary services on an ad hoc basis for our (a) real estate and lease management solutions to commercial customers, real estate investors and lenders, (b) benchmarking and analytics for the hospitality industry and (c) other service offerings.&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company analyzes contracts to determine the appropriate revenue recognition using the following steps: (i) identification of contracts with customers, (ii) identification of distinct performance obligations in the contract, (iii) determination of contract transaction price, (iv) allocation of contract transaction price to the performance obligations and (v) determination of revenue recognition based on timing of satisfaction of the performance obligations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenues upon the satisfaction of its performance obligation(s) (upon transfer of control of promised services to its customers) in an amount that reflects the consideration to which it expects to be entitled to in exchange for those services. Revenues from subscription-based services are recognized on a straight-line basis over the term of the agreement. Revenues from transaction-based services are recognized when the promised product or services are delivered, which, in the case of Ten-X auctions, is at the time of a successful closing for the sale of the property.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In limited circumstances, the Company's contracts with customers include promises to transfer multiple services, such as contracts for its subscription-based services and professional services. For these contracts, the Company accounts for individual performance obligations separately if they are distinct, which involves the determination of the standalone selling price for each distinct performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue results from amounts billed in advance to customers or cash received from customers in advance of the Company's fulfillment of its performance obligation(s) and is recognized as those obligations are satisfied.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets represent a conditional right to consideration for satisfied performance obligations that become a receivable when the conditions are satisfied. Contract assets are generated when contractual billing schedules differ from revenue recognition timing.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain sales commissions are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions incurred for obtaining new contracts are deferred and then amortized as selling and marketing expenses on a straight-line basis over a period of benefit that the Company has determined to be three years.&#160;The three-year amortization period was determined based on several factors, including the nature of the technology and proprietary data underlying the services being purchased, customer contract renewal rates and industry competition.&#160;Certain commission costs are not capitalized as they do not represent incremental costs of obtaining a contract.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 3 for further discussion of the Company's revenue recognition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost of Revenues&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Cost of revenues principally consists of salaries, benefits, bonuses and stock-based compensation expenses and other indirect costs for the Company's researchers who collect and analyze the commercial real estate data that is the basis for the Company's information, analytics and online marketplaces and for employees that support these products. Additionally, cost of revenues includes the cost of data from third-party data sources and costs related to advertising purchased on behalf of customers, credit card and other transaction fees relating to processing customer transactions, which are expensed as incurred, and the amortization of acquired trade names, technology and certain other intangible assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Foreign Currency Translation&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s reporting currency is the U.S. dollar. The functional currency for the majority of its operations is the local currency, with the exception of certain international locations for which the functional currency is the British Pound. Assets and liabilities denominated in a foreign currency are translated into U.S. dollars using the exchange rates in effect as of the balance sheet date. Gains and losses resulting from translation are included in accumulated other comprehensive loss. Currency g&lt;/span&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ains and losses on the translation of intercompany loans made to foreign subsidiaries that are of a long-term investment nature are also included &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;in accumulated other comprehensive loss. Gains and losses resulting from transactions denominated in a currency other than the functional currency of the entity are included in other income (expense), net in the consolidated statements of operations using the average exchange rates in effect during the period. The Company recognized a net foreign currency gain of $0.3 million and losses of  $0.2 million and $0.6 million for the years ended December&#160;31, 2021,  2020 and 2019, respectively, which are included in other income (expense), net on the consolidated statement of operations.&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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Accumulated Other Comprehensive Loss&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of accumulated other comprehensive loss, net of tax were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;As of December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&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;(5,758)&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;(889)&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="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #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;(5,758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 #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:3pt double #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;(889)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; During the year ended December&#160;31, 2020, the Company sold its long-term variable debt instruments with an auction reset feature, referred to as auction rate securities ("ARS"), and reclassified out of accumulated other comprehensive loss a realized loss of $0.5&#160;million to earnings which is included in other income (expense), net in the consolidated statement of operations. There were no amounts reclassified out of accumulated other comprehensive loss to the consolidated statements of operations for the years ended December&#160;31, 2021 and December&#160;31, 2019.&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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Advertising Costs&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company expenses advertising costs as incurred. Advertising costs include digital marketing, television, radio, print and other media advertising. Advertising costs were $312 million, $270 million and $168 million for the years ended December&#160;31, 2021, 2020 and 2019, 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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Income Taxes&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income taxes result from temporary differences between the tax basis of assets and liabilities and the basis reported in the Company&#x2019;s consolidated financial statements. Deferred tax liabilities and assets are determined based on the difference between the financial statement and the tax basis of assets and liabilities using enacted rates in effect during the year in which the Company expects differences to reverse. Valuation allowances are provided against assets, including net operating losses, if the Company determines it is more likely than not that some portion or all of an asset may not be realized.&#160;Interest and penalties related to income tax matters are recognized in income tax expense. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has elected to record the global intangible low taxed income inclusion ("GILTI") under the current-period cost method.  &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 12 for further discussion of income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Income Per Share&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income per share is computed by dividing net income by the weighted-average number of common shares outstanding during the period on a basic and diluted basis. The Company's potentially dilutive securities include outstanding stock options, unvested stock-based awards which include restricted stock awards that vest over a specific service period, restricted stock awards with a performance and market condition, restricted stock units and awards of matching restricted stock units ("Matching RSUs") awarded under the Company's Management Stock Purchase Plan (the &#x201c;MSPP&#x201d;). Shares underlying unvested restricted stock awards that vest based on a performance and market condition that have not been achieved as of the end of the period are not included in the computation of basic or diluted earnings per share. Diluted net income per share &lt;/span&gt;&lt;/div&gt;considers the impact of potentially dilutive securities except when the inclusion of the potentially dilutive securities would have an anti-dilutive effect. See Note 16 for further discussion of the Company's calculation of net income per share.&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Equity instruments issued in exchange for services performed by officers, employees and directors of the Company are accounted for using a fair-value based method and the fair value of such equity instruments is recognized as expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For stock-based awards that vest over a specific service period, compensation expense is measured based on the fair value of the awards at the grant date and is recognized on a straight-line basis over the service period of the awards, net of an estimated forfeiture rate. For equity instruments that vest based on achievement of both a performance and market condition, stock-based compensation expense is recognized over the service period of the awards based on the expected achievement of the related performance conditions at the end of each reporting period. If the Company's initial estimates of the achievement of the performance conditions change, the related stock-based compensation expense and timing may fluctuate from period to period based on those estimates. If the performance conditions are not met, no stock-based compensation expense will be recognized and any previously recognized stock-based compensation expense will be reversed. For awards with both a performance and a market condition, the Company estimates the fair value of each equity instrument granted on the date of grant using a Monte-Carlo simulation model. This pricing model uses multiple simulations to evaluate the probability of achieving the market condition to calculate the fair value of the awards.&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense for stock options, restricted stock awards and restricted stock units issued under equity incentive plans, stock purchases under the Employee Stock Purchase Plan, Deferred Stock Units ("DSUs") and Matching RSUs awarded under the MSPP included in the Company&#x2019;s statement of operations were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:62.296%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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:10.614%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;Cost of revenues&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&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;11,165&#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,879&#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,273&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling and marketing (excluding customer base amortization) &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;6,314&#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;5,194&#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;6,809&#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;Software development&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;12,544&#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;10,325&#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;8,985&#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:bottom"&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="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;33,686&#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;27,706&#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;27,188&#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;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&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 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;63,709&#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;54,104&#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;52,255&#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: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 colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense for the year ended December 31, 2020 includes $0.7&#160;million of expense related to the cash settlement of stock options in connection with the acquisition of Ten-X. See Note 5 for further discussion.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cash, Cash Equivalents and Restricted Cash&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents. Cash, cash equivalents, and restricted cash consisted of the following as of December&#160;31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;As of December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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:10pt;font-weight:700;line-height:100%"&gt;2020&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;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;3,827,126&#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;3,693,813&#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:bottom"&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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;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;RentPath break fee held in escrow under the terms of the Asset Purchase Agreement&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;&#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;58,750&#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 7pt;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 restricted cash related to acquisitions&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;3,349&#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="display:none"/&gt;&lt;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 25pt;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;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;&#x2014;&#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: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 #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;62,099&#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: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;Cash, cash equivalents and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;3,827,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;3,755,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk and Financial Instruments&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s customer base creates a lack of dependence on any individual customer that mitigates the risk of nonpayment of the Company&#x2019;s accounts receivable. No single customer accounted for more than 5% of the Company&#x2019;s revenues for each of the years ended December&#160;31, 2021, 2020 and 2019. The carrying amount of the accounts receivable approximates the net realizable value. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company holds cash at major financial institutions that often exceed Federal Deposit Insurance Corporation insured limits. The Company manages its credit risk associated with cash concentrations by diversifying cash holdings across AAA rated Government and Treasury Money Market Funds and multiple high quality financial institutions, and by periodically evaluating the credit quality of the primary financial institutions holding such deposits. The carrying value of cash approximates fair value. Historically, the Company has not experienced any losses due to such cash concentrations. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains an allowance for credit losses to cover its current expected credit losses ("CECL") on its trade receivables and contract assets arising from the failure of customers to make contractual payments. The Company estimates credit losses expected over the life of its trade receivables and contract assets based on historical information combined with current conditions that may affect a customer&#x2019;s ability to pay and reasonable and supportable forecasts. While the Company uses various credit quality metrics, it primarily monitors collectability by reviewing the duration of collection pursuits on its delinquent trade receivables and historical write off trends. Based on the Company&#x2019;s experience, the customer's delinquency status, which is analyzed periodically, is the strongest indicator of the credit quality of the underlying trade receivables. The Company&#x2019;s policy is to write-off trade receivables when they are deemed uncollectible. A majority of the Company's trade receivables are less than 365 days outstanding.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the CECL impairment model, the Company develops and documents its allowance for credit losses on its trade receivables based on five portfolio segments. The determination of portfolio segments is based primarily on the qualitative consideration of the nature of the Company&#x2019;s business operations and the characteristics of the underlying trade receivables, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;CoStar Portfolio Segment&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; - The CoStar portfolio segment consists of two classes of trade receivables based on geographical location: North America and International.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Information Services Portfolio Segment&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; - The Information Services portfolio segment consists of four classes of trade receivables: CoStar Real Estate Manager; Information Services, North America; STR, US; and STR, International.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Multifamily Portfolio Segment&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; - The Multifamily portfolio segment consists of one class of trade receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;LoopNet Portfolio Segment&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; - The LoopNet portfolio segment consists of one class of trade receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Other Marketplaces Portfolio Segment&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; - The Other Marketplaces portfolio segment consists of two classes of trade receivables: Ten-X and other marketplaces.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of Residential revenue is e-commerce based and does not result in accounts receivable. Residential accounts receivable and the related allowance for credit losses are not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note&#160;4&#160;for further discussion of the Company&#x2019;s accounting for allowance for credit losses.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The determination of whether an arrangement contains a lease and the classification of a lease, if applicable, is made at the commencement of the arrangement, at which time the Company also measures and recognizes a right-of-use ("ROU") asset, representing the Company&#x2019;s right to use the underlying asset, and a lease liability, representing the Company&#x2019;s obligation to make lease payments under the terms of the arrangement. For the purposes of recognizing ROU assets and lease liabilities associated with the Company&#x2019;s leases, the Company has elected the practical expedient to not recognize a ROU asset or lease liability for short-term leases, which are leases with a term of twelve months or less. The lease term is defined as the noncancelable portion of the lease term, plus any periods covered by an option to extend the lease if it is reasonably certain that that the option will be exercised.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In determining the amount of lease payments used in measuring ROU assets and lease liabilities, the Company has elected the practical expedient not to separate non-lease components from lease components for all classes of underlying assets. Consideration deemed part of the lease payments used to measure ROU assets and lease liabilities generally includes fixed payments and variable payments based on either an index or a rate, offset by lease incentives. Upon commencement, the initial ROU asset also includes any lease prepayments. ROU assets and liabilities are recognized at the lease commencement date based on the present value of lease payments over the lease term. The rates implicit within the Company's leases are generally not determinable. Therefore, the Company's incremental borrowing rate is used to determine the present value of lease payments. The determination of the Company&#x2019;s incremental borrowing rate requires judgment and is determined at lease commencement, or as of January 1, 2019 for operating leases in existence upon adoption of the new lease standard. The incremental borrowing rate is subsequently reassessed upon a modification to the lease arrangement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease costs related to the Company's operating leases are generally recognized as a single ratable lease cost over the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 7 for further discussion of the Company&#x2019;s accounting for leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Property and Equipment, Net&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost, net of accumulated depreciation and amortization. All repairs and maintenance costs are expensed as incurred. Costs related to acquisition of additional aircraft components or the replacement of existing aircraft components are capitalized and depreciated over the estimated useful life of the aircraft or the added or replaced component, whichever is less. Depreciation and amortization are calculated on a straight-line basis over the following estimated useful lives of the assets:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:78.216%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.675%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.734%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.191%"/&gt;&lt;td style="width:0.1%"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;Buildings &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:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzEtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjo4OGM3NDNlZWMxYzU0ZjgwYTAxODE1ZjQwMmUxZDI4M18xMDk5NTExNjI3ODE0_b130e77e-e600-4fbc-81ea-412ba20f6dec"&gt;Twenty&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzEtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjo4OGM3NDNlZWMxYzU0ZjgwYTAxODE1ZjQwMmUxZDI4M18xMDk5NTExNjI3ODI4_f64509f3-9b71-4398-a3e3-74daef10cfb0"&gt;thirty-nine&lt;/span&gt; years &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;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;Land&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:justify;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;Indefinite&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:justify;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;Aircrafts&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:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzMtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpiM2FhNTI1OGUwMDU0Y2RkOWY3YzJiN2M1NDI3ZTJlYV8xMDk5NTExNjI3ODAx_f684cd82-53c1-49fb-b6b6-a2960c47cbe0"&gt;Ten&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzMtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpiM2FhNTI1OGUwMDU0Y2RkOWY3YzJiN2M1NDI3ZTJlYV8xMDk5NTExNjI3ODEx_e0ab8ebf-a04c-4985-8ae3-7f361390fbb8"&gt;twenty&lt;/span&gt; years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;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 office equipment&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzQtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpmYmU2MTY1YmEyZTE0MTBjYjRkMmU3NmRkYjE0YWQzMF8xMDk5NTExNjI3ODAx_f62b2a3b-2672-4db1-b91e-8c0d93c43451"&gt;Five&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzQtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpmYmU2MTY1YmEyZTE0MTBjYjRkMmU3NmRkYjE0YWQzMF8xMDk5NTExNjI3ODA3_cc6db4e3-b3e0-4515-a7d7-b2b7f2bc83f5"&gt;ten&lt;/span&gt; years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;Vehicles&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: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;Five years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;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 hardware and software&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:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzYtMi0xLTEtMjcwNDQvdGV4dHJlZ2lvbjo3NTMyOTM2NDQ5ZTA0NTQ3OGVmYTI0OTliNTMwZjMwYV8xMDk5NTExNjI3ODA0_c0d284c4-15bb-4fa8-8ddc-d3c11ceb53b0"&gt;Three&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzYtMi0xLTEtMjcwNDQvdGV4dHJlZ2lvbjo3NTMyOTM2NDQ5ZTA0NTQ3OGVmYTI0OTliNTMwZjMwYV8xMDk5NTExNjI3ODEx_2aff9ace-f841-4496-9e2e-8cf32eb38a0b"&gt;five&lt;/span&gt; years&lt;/span&gt;&lt;/div&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;Leasehold improvements&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:justify;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;Shorter of lease terms or useful life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Qualifying internal-use software costs incurred during the application development stage, which consist primarily of internal product development costs, outside services and purchased software license costs are capitalized and amortized over the estimated useful life of the asset. All other costs are expensed as incurred. In the fourth quarter of 2021, the Company began removing fully depreciated property and equipment from the cost and accumulated depreciation amounts disclosed.&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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Long-Lived Assets, Intangible Assets and Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, such as property and equipment, and purchased intangibles subject to amortization, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to the estimated undiscounted future cash flows expected to be generated by the asset or asset group. If the carrying amount of an asset exceeds its estimated undiscounted future cash flows, an impairment charge is recognized in the amount by which the carrying amount of the asset exceeds the fair value of the asset.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired technology and data, customer base assets, trade names and other intangible assets are related to the Company&#x2019;s acquisitions. Acquired technology and data is amortized on a straight-line basis over periods ranging from one year to eight years. Acquired intangible assets characterized as customer base assets consist of acquired customer contracts and the related customer relationships and are amortized over periods ranging from five years to thirteen years. Acquired customer bases are amortized on an accelerated or straight-line basis depending on the expected economic benefit of the intangible asset. Acquired trade names and other intangible assets are amortized on a straight-line basis over periods ranging from one year to fifteen years. In the fourth quarter of 2021, the Company began removing fully amortized intangible assets from the cost and accumulated amortization amounts disclosed.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the future economic benefits arising from a business combination and is calculated as the excess of the purchase consideration paid in a business combination over the fair value of the net identifiable assets acquired. Goodwill is not amortized, but instead is assigned to each of the Company's reporting units and tested for impairment at least annually, on October 1, or more frequently if an event or other circumstance indicates that the fair value of a reporting unit may be below its carrying amount. If it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company then determines the fair value of each reporting unit.&#160;The estimate of the fair value of each reporting unit is based on a projected discounted cash flow model that includes significant assumptions and estimates including the discount rate, growth rate and future financial performance. Assumptions about the discount rate are based on a weighted average cost of capital for comparable companies. Assumptions about the growth rate and future financial performance of a reporting unit are based on the Company's forecasts, business plans, economic projections and anticipated future cash flows. The fair value of each reporting unit is compared to the carrying amount of the reporting unit. If the carrying value of the reporting unit exceeds the fair value, then an impairment loss is recognized for the difference.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Notes 5, 9 and 10 for further discussion of acquisitions, goodwill and intangible assets, respectively.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Debt Issuance Costs&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs incurred in connection with the issuance of long-term debt are deferred and amortized as interest expense over the term of the related debt using the effective interest method for term debt and on a straight-line basis for revolving debt. The Company made a policy election to classify deferred issuance costs on the revolving credit facility as a long-term asset on its consolidated balance sheets. Upon a refinancing or amendment, previously capitalized debt issuance costs are expensed and included in loss on extinguishment of debt if the Company determines that there has been a substantial modification of the related debt. If the Company determines that there has not been a substantial modification of the related debt, any previously capitalized debt issuance costs are amortized as interest expense over the term of the new debt instrument.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 11 for further discussion of the Company's 2020 Credit Agreement and Senior Notes issuance.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company allocates the purchase consideration to the tangible assets acquired, liabilities assumed and intangible assets acquired based on their estimated fair values. The purchase price is determined based on the fair value of the assets transferred, liabilities assumed and equity interests issued, after considering any transactions that are separate from the business combination. The excess of the fair value of purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. The Company applies significant assumptions, estimates and judgments in determining the fair value of assets acquired and liabilities assumed on the acquisition date, especially with respect to intangible assets and contingent liabilities. Significant estimates in valuing certain intangible assets include, but are not limited to, future expected cash flows from acquired customer bases, acquired technology and acquired trade names, useful lives, royalty rates and discount rates. Any adjustments to provisional amounts that are identified during the measurement period are recorded in the reporting period in which the adjustment amounts are determined. Upon the conclusion of the measurement period, any subsequent adjustments are recorded to earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For a given acquisition, the Company may identify certain pre-acquisition contingencies as of the acquisition date and may extend its review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether the Company includes these contingencies as a part of the fair value estimates of assets acquired and liabilities assumed and, if so, to determine their estimated amounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If the Company cannot reasonably determine the fair value of a pre-acquisition contingency (non-income tax related) by the end of the measurement period, which is generally the case given the nature of such matters, the Company will recognize an &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;asset or a liability for such pre-acquisition contingency if: (i) it is probable that an asset existed or a liability had been assumed at the acquisition date and (ii) the amount of the asset or liability can be reasonably estimated. Subsequent to the measurement period, changes in the Company's estimates of such contingencies will affect earnings and could have a material effect on its results of operations and financial position.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. The Company reevaluates these items based upon facts and circumstances that existed as of the acquisition date, with any adjustments to its preliminary estimates being recorded to goodwill provided that the Company is within the measurement period. Subsequent to the measurement period, changes to these uncertain tax positions and tax related valuation allowances will affect the Company's provision for income taxes in its consolidated statements of operations and comprehensive income and could have a material impact on its results of operations and financial position.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the fourth quarter of 2021, the Company adopted ASU 2021-08,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Business Combinations (Topic 805), Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&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;. This guidance requires contract assets and liabilities acquired or assumed in an acquisition be measured in accordance with the accounting framework for revenue from contracts with customers as if the Company had originated the acquired contract. This is an exception to the general requirement to measure assets acquired and liabilities assumed at their fair value on the acquisition date. The Company applied this revised guidance to all acquisitions in the year ended December&#160;31, 2021. The application of this guidance to contract assets and contract liabilities acquired or assumed in connection with the Company's acquisitions for the year ended December&#160;31, 2021 did not have a material impact on the Company's consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 12, 2020, the Financial Accounting Standards Board issued ASU 2020-04, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Reference Rate Reform (&#x201c;ASC 848&#x201d;): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.&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; Accounting Standards Codification (&#x201c;ASC&#x201d;) 848 contains optional expedients and exceptions for applying GAAP to debt, contracts, hedging relationships and other transactions affected by reference rate reform. The provisions of ASC 848 must be applied to all contracts that are accounted for under a Topic, Subtopic or Industry Subtopic for all transactions other than derivatives, which may be applied at a hedging relationship level. This guidance is effective for fiscal years beginning after January 1, 2021, including interim periods within those fiscal years. The Company's 2020 Credit Agreement provides for a $750&#160;million revolving credit facility and a letter of credit sublimit of $20&#160;million, with interest rates benchmarked to LIBOR. As of December 31, 2021, no amounts were issued or drawn under this facility. The Company is currently evaluating the impact this guidance will have on its consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzAz_f7ac7aff-667b-49b7-af12-75591a6c9150">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Basis of Presentation&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements include the accounts of the Company and its wholly owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation. Accounting policies are consistent for each operating segment.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzQz_8a19a4e9-6cf6-40de-a99d-a4030ffe7405">Use of EstimatesThe preparation of financial statements in conformity with U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) requires management to make estimates and assumptions that affect the amounts reported in the financial statements and accompanying notes. On an ongoing basis, the Company evaluates its estimates and assumptions, including those related to revenue recognition, allowance for credit losses, the useful lives and recoverability of long-lived and intangible assets, goodwill, income taxes, accounting for business combinations, stock-based compensation, estimating the Company's incremental borrowing rate for its leases, and contingencies, among others. The Company bases these estimates on historical and anticipated results, trends and various other assumptions that it believes are reasonable, including assumptions as to future events. These estimates form the basis for making judgments about the carrying values of assets and liabilities and recorded revenues and expenses. Actual results could differ from these estimates.</us-gaap:UseOfEstimates>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzE2_d9516cf8-c7e3-4c75-9860-04ed50388526">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company derives revenues primarily by (i) providing access to its proprietary database of commercial real estate information and (ii) providing online marketplaces for professional property management companies, property owners, real estate agents and brokers and landlords, in each case, typically through a fixed monthly fee for its subscription-based services. Other subscription based-services include (i) real estate and lease management solutions to commercial customers, real estate investors and lenders, (ii) access to applications to manage workflow and advertising and marketing services for residential real estate agents through our acquisitions of Homes.com, which was acquired in May 2021, and Homesnap, which was acquired in December 2020, (iii) benchmarking and analytics for the hospitality industry and (iv) market research, portfolio and debt analysis, management and reporting capabilities. See Note 5 for further discussion of acquisitions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subscription contract rates are based on the number of sites, number of users, organization size, the client&#x2019;s business focus, geography, the number and types of services to which a client subscribes, the number of properties a client advertises and the prominence and placement of a client's advertised properties in the search results. The Company&#x2019;s subscription-based license agreements typically renew automatically, and a majority have a term of at least one year.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:13.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also derives revenues from transaction-based services including: (i) an online auction platform for commercial real estate through Ten-X, which was acquired in June 2020, (ii) providing online tenant applications, including background and credit checks, and rental payment processing and (iii) complementary services on an ad hoc basis for our (a) real estate and lease management solutions to commercial customers, real estate investors and lenders, (b) benchmarking and analytics for the hospitality industry and (c) other service offerings.&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company analyzes contracts to determine the appropriate revenue recognition using the following steps: (i) identification of contracts with customers, (ii) identification of distinct performance obligations in the contract, (iii) determination of contract transaction price, (iv) allocation of contract transaction price to the performance obligations and (v) determination of revenue recognition based on timing of satisfaction of the performance obligations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company recognizes revenues upon the satisfaction of its performance obligation(s) (upon transfer of control of promised services to its customers) in an amount that reflects the consideration to which it expects to be entitled to in exchange for those services. Revenues from subscription-based services are recognized on a straight-line basis over the term of the agreement. Revenues from transaction-based services are recognized when the promised product or services are delivered, which, in the case of Ten-X auctions, is at the time of a successful closing for the sale of the property.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In limited circumstances, the Company's contracts with customers include promises to transfer multiple services, such as contracts for its subscription-based services and professional services. For these contracts, the Company accounts for individual performance obligations separately if they are distinct, which involves the determination of the standalone selling price for each distinct performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred revenue results from amounts billed in advance to customers or cash received from customers in advance of the Company's fulfillment of its performance obligation(s) and is recognized as those obligations are satisfied.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets represent a conditional right to consideration for satisfied performance obligations that become a receivable when the conditions are satisfied. Contract assets are generated when contractual billing schedules differ from revenue recognition timing.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain sales commissions are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions incurred for obtaining new contracts are deferred and then amortized as selling and marketing expenses on a straight-line basis over a period of benefit that the Company has determined to be three years.&#160;The three-year amortization period was determined based on several factors, including the nature of the technology and proprietary data underlying the services being purchased, customer contract renewal rates and industry competition.&#160;Certain commission costs are not capitalized as they do not represent incremental costs of obtaining a contract.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <csgp:SubscriptionBasedLicensingAgreementMinimumTermYears
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzIzOTA_263f492d-fc2c-45f8-b2dc-78fadfc694e7">P1Y</csgp:SubscriptionBasedLicensingAgreementMinimumTermYears>
    <csgp:DeferredSalesCommissionAmortizationPeriod
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzUxOTQ_d565247b-32d4-4c23-b43d-20aafccf6205">P3Y</csgp:DeferredSalesCommissionAmortizationPeriod>
    <csgp:DeferredSalesCommissionAmortizationPeriod
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzA1_76c5a788-da33-4f1c-819e-5121c33300ae">P3Y</csgp:DeferredSalesCommissionAmortizationPeriod>
    <us-gaap:CostOfSalesPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzA2_9045a265-8929-45ed-832b-9c1334185d6f">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Cost of Revenues&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Cost of revenues principally consists of salaries, benefits, bonuses and stock-based compensation expenses and other indirect costs for the Company's researchers who collect and analyze the commercial real estate data that is the basis for the Company's information, analytics and online marketplaces and for employees that support these products. Additionally, cost of revenues includes the cost of data from third-party data sources and costs related to advertising purchased on behalf of customers, credit card and other transaction fees relating to processing customer transactions, which are expensed as incurred, and the amortization of acquired trade names, technology and certain other intangible assets.&lt;/span&gt;&lt;/div&gt;</us-gaap:CostOfSalesPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzI5_38ab00c9-8d26-4133-8247-114595016d9b">Foreign Currency Translation&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s reporting currency is the U.S. dollar. The functional currency for the majority of its operations is the local currency, with the exception of certain international locations for which the functional currency is the British Pound. Assets and liabilities denominated in a foreign currency are translated into U.S. dollars using the exchange rates in effect as of the balance sheet date. Gains and losses resulting from translation are included in accumulated other comprehensive loss. Currency g&lt;/span&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;ains and losses on the translation of intercompany loans made to foreign subsidiaries that are of a long-term investment nature are also included &lt;/span&gt;in accumulated other comprehensive loss. Gains and losses resulting from transactions denominated in a currency other than the functional currency of the entity are included in other income (expense), net in the consolidated statements of operations using the average exchange rates in effect during the period.</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossRealized
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwOTk1MTE2NDQwMTA_96d46a38-a64f-4234-98bf-ecc6126236ac"
      unitRef="usd">300000</us-gaap:ForeignCurrencyTransactionGainLossRealized>
    <us-gaap:ForeignCurrencyTransactionGainLossRealized
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwOTk1MTE2NDM5ODg_6d9c55cf-250d-44b8-a596-7c866072c8de"
      unitRef="usd">-200000</us-gaap:ForeignCurrencyTransactionGainLossRealized>
    <us-gaap:ForeignCurrencyTransactionGainLossRealized
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzc0MDU_970b88fb-e73b-452b-a323-9c692cf3f97f"
      unitRef="usd">-600000</us-gaap:ForeignCurrencyTransactionGainLossRealized>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzY3_5b5cdce1-b037-4fe7-b2a1-24f78eeeb17e">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of accumulated other comprehensive loss, net of tax were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;As of December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustment&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;(5,758)&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;(889)&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="background-color:#ffffff;padding:2px 25pt 2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total accumulated other comprehensive loss&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #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;(5,758)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 #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:3pt double #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;(889)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90YWJsZTpiOGU4NDEwZGFjYTE0M2UzYWM2OGY0YmQxMzI2ZWVkNi90YWJsZXJhbmdlOmI4ZTg0MTBkYWNhMTQzZTNhYzY4ZjRiZDEzMjZlZWQ2XzItMS0xLTEtMjYyMjg_f4512f39-f345-44e5-9c95-e3234f47bd7a"
      unitRef="usd">-5758000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90YWJsZTpiOGU4NDEwZGFjYTE0M2UzYWM2OGY0YmQxMzI2ZWVkNi90YWJsZXJhbmdlOmI4ZTg0MTBkYWNhMTQzZTNhYzY4ZjRiZDEzMjZlZWQ2XzItMy0xLTEtMjYyMjg_bf4e93ef-7643-4d3b-be2c-ae3f2f303c2d"
      unitRef="usd">-889000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90YWJsZTpiOGU4NDEwZGFjYTE0M2UzYWM2OGY0YmQxMzI2ZWVkNi90YWJsZXJhbmdlOmI4ZTg0MTBkYWNhMTQzZTNhYzY4ZjRiZDEzMjZlZWQ2XzQtMS0xLTEtMjYyMjg_25d9513f-5fe5-4fdb-8749-ffb7b2fa67c4"
      unitRef="usd">-5758000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90YWJsZTpiOGU4NDEwZGFjYTE0M2UzYWM2OGY0YmQxMzI2ZWVkNi90YWJsZXJhbmdlOmI4ZTg0MTBkYWNhMTQzZTNhYzY4ZjRiZDEzMjZlZWQ2XzQtMy0xLTEtMjYyMjg_bfcc1f62-4452-4b50-b0de-ba15057c581e"
      unitRef="usd">-889000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzE2NDkyNjc0NTczMzY_738d128c-30e4-4aa8-89dd-f1f76a81fb57"
      unitRef="usd">-500000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzMzNTM1MTA0NjYzMjE3_07e49935-1065-402d-899d-9cd78d910fe3"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzMzNTM1MTA0NjYzMjE3_f81a7a18-dca2-4f22-950d-6bbf14a61a77"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzc5_7c6e5211-3515-49cd-9522-631a22688e70">Advertising CostsThe Company expenses advertising costs as incurred. Advertising costs include digital marketing, television, radio, print and other media advertising.</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:AdvertisingExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwOTk1MTE2NDA0MjQ_50ee985b-b7e5-4a15-82d1-ce02cf7a5458"
      unitRef="usd">312000000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwOTk1MTE2NDA0MTI_fae55380-e8eb-482c-af7c-492e241b8d03"
      unitRef="usd">270000000</us-gaap:AdvertisingExpense>
    <us-gaap:AdvertisingExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwOTk1MTE2NDA0Mjg_b02227b1-fb96-42eb-adfe-92517ba2ee7c"
      unitRef="usd">168000000</us-gaap:AdvertisingExpense>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzgw_ffe5b644-66fb-4d3e-affc-609003c050c6">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Income Taxes&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Deferred income taxes result from temporary differences between the tax basis of assets and liabilities and the basis reported in the Company&#x2019;s consolidated financial statements. Deferred tax liabilities and assets are determined based on the difference between the financial statement and the tax basis of assets and liabilities using enacted rates in effect during the year in which the Company expects differences to reverse. Valuation allowances are provided against assets, including net operating losses, if the Company determines it is more likely than not that some portion or all of an asset may not be realized.&#160;Interest and penalties related to income tax matters are recognized in income tax expense. &lt;/span&gt;&lt;/div&gt;The Company has elected to record the global intangible low taxed income inclusion ("GILTI") under the current-period cost method.</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTEvZnJhZzowNDU4OGViNzdkYjI0Y2Q3OGI1NmRlY2JkYjJlZDE3MS90ZXh0cmVnaW9uOjA0NTg4ZWI3N2RiMjRjZDc4YjU2ZGVjYmRiMmVkMTcxXzEwNzYz_25f9ea2e-17cd-4484-8b4b-53160f510a4f">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Net Income Per Share&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income per share is computed by dividing net income by the weighted-average number of common shares outstanding during the period on a basic and diluted basis. The Company's potentially dilutive securities include outstanding stock options, unvested stock-based awards which include restricted stock awards that vest over a specific service period, restricted stock awards with a performance and market condition, restricted stock units and awards of matching restricted stock units ("Matching RSUs") awarded under the Company's Management Stock Purchase Plan (the &#x201c;MSPP&#x201d;). Shares underlying unvested restricted stock awards that vest based on a performance and market condition that have not been achieved as of the end of the period are not included in the computation of basic or diluted earnings per share. Diluted net income per share &lt;/span&gt;&lt;/div&gt;considers the impact of potentially dilutive securities except when the inclusion of the potentially dilutive securities would have an anti-dilutive effect.</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90ZXh0cmVnaW9uOmQxODBjNmY0M2JkNTRhMWQ4MjM4ODQ1ZGNlNWFiYmY5XzIyNTI_0120194a-0186-4675-bf17-f921f961ff5b">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Equity instruments issued in exchange for services performed by officers, employees and directors of the Company are accounted for using a fair-value based method and the fair value of such equity instruments is recognized as expense in the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For stock-based awards that vest over a specific service period, compensation expense is measured based on the fair value of the awards at the grant date and is recognized on a straight-line basis over the service period of the awards, net of an estimated forfeiture rate. For equity instruments that vest based on achievement of both a performance and market condition, stock-based compensation expense is recognized over the service period of the awards based on the expected achievement of the related performance conditions at the end of each reporting period. If the Company's initial estimates of the achievement of the performance conditions change, the related stock-based compensation expense and timing may fluctuate from period to period based on those estimates. If the performance conditions are not met, no stock-based compensation expense will be recognized and any previously recognized stock-based compensation expense will be reversed. For awards with both a performance and a market condition, the Company estimates the fair value of each equity instrument granted on the date of grant using a Monte-Carlo simulation model. This pricing model uses multiple simulations to evaluate the probability of achieving the market condition to calculate the fair value of the awards.&lt;/span&gt;&lt;/div&gt;The Company estimates the fair value of its equity awards with both a performance and market condition on the date of grant using a Monte-Carlo simulation valuation model. This pricing model uses multiple simulations to evaluate the probability of achieving the market condition to calculate the fair value of the awards. Expense is only recorded for awards that are expected to vest, net of estimated forfeitures.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90ZXh0cmVnaW9uOmQxODBjNmY0M2JkNTRhMWQ4MjM4ODQ1ZGNlNWFiYmY5XzIyMzU_3350bbe1-c0fe-48cd-8e24-ebf547b82d26">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense for stock options, restricted stock awards and restricted stock units issued under equity incentive plans, stock purchases under the Employee Stock Purchase Plan, Deferred Stock Units ("DSUs") and Matching RSUs awarded under the MSPP included in the Company&#x2019;s statement of operations were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:62.296%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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:10.614%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;Cost of revenues&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&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;11,165&#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,879&#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,273&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling and marketing (excluding customer base amortization) &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;6,314&#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;5,194&#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;6,809&#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;Software development&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;12,544&#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;10,325&#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;8,985&#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:bottom"&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="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;33,686&#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;27,706&#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;27,188&#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;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&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 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;63,709&#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;54,104&#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;52,255&#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: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 colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense for the year ended December 31, 2020 includes $0.7&#160;million of expense related to the cash settlement of stock options in connection with the acquisition of Ten-X. See Note 5 for further discussion.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ied72b3ccbe684c74a3d4cca6f876f90b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzItMS0xLTEtMjYyMjg_d2e9a218-93c9-4e27-8c5c-6bbbbd135ed2"
      unitRef="usd">11165000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iac6929c34fbd48e39683db7f0a3e931e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzItMy0xLTEtMjYyMjg_ecae8125-46c9-45e7-b7e4-19208d3be24b"
      unitRef="usd">10879000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ic8bd4bd4e53d45889efae85930f4fd36_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzItNS0xLTEtMjYyMjg_e23b2b30-c428-442a-ae1c-eca42efd59ca"
      unitRef="usd">9273000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1b5ae459cede46c388ffb199797dc732_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzMtMS0xLTEtMjYyMjg_e2d1692d-7ba5-4890-9c3a-afec6eddfd7d"
      unitRef="usd">6314000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i895c1ca96d954e4586e50575df1ca3bb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzMtMy0xLTEtMjYyMjg_a798f939-63f1-475f-aff3-3010e707a81a"
      unitRef="usd">5194000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7d90b31939c04fdd9723e49e17ae8df9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzMtNS0xLTEtMjYyMjg_e58f1810-1c58-4b47-afab-ca56144413b1"
      unitRef="usd">6809000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1ea9e0b0bf854f649bdd3a158ea61913_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzQtMS0xLTEtMjYyMjg_31b9d2b7-6939-4659-8352-13e1a02d8b89"
      unitRef="usd">12544000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie42005ca8ae94b46a2cdde70125fb1e4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzQtMy0xLTEtMjYyMjg_e655b18f-30ce-44f8-a6fd-9b01731f7a58"
      unitRef="usd">10325000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1347f7202754455bb9c8311220b33739_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzQtNS0xLTEtMjYyMjg_edb7949a-2dff-4932-922e-4bca1d93c4d8"
      unitRef="usd">8985000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i05ef8766099844e6bcfa8f58d67600d7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzUtMS0xLTEtMjYyMjg_889968c8-8369-4c9c-b57a-dbed73e507bf"
      unitRef="usd">33686000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia6d6e5af2194485da6e696cfc90ef49c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzUtMy0xLTEtMjYyMjg_6330bb38-aec7-4739-957f-541c6e8d0966"
      unitRef="usd">27706000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iaaa2c2609c2943e7b37d9e8f811f90f6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzUtNS0xLTEtMjYyMjg_20e8a422-fe59-45b4-afcc-b447dd9f825d"
      unitRef="usd">27188000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzYtMS0xLTEtMjYyMjg_ad42389d-27cf-4bae-8e62-ad72ce65b595"
      unitRef="usd">63709000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzYtMy0xLTEtMjYyMjg_e45fd9c1-f1cc-4eab-8999-9b2f5a93376e"
      unitRef="usd">54104000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90YWJsZTphM2FlYmMxMWExM2Y0ODVjOWRiOTk5YTBjZDBiZTIyOS90YWJsZXJhbmdlOmEzYWViYzExYTEzZjQ4NWM5ZGI5OTlhMGNkMGJlMjI5XzYtNS0xLTEtMjYyMjg_86b1bc64-2c30-4050-a3d5-11da3d1c459a"
      unitRef="usd">52255000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTQvZnJhZzpkMTgwYzZmNDNiZDU0YTFkODIzODg0NWRjZTVhYmJmOS90ZXh0cmVnaW9uOmQxODBjNmY0M2JkNTRhMWQ4MjM4ODQ1ZGNlNWFiYmY5XzIwMzU_005fb1eb-be60-40b1-bbd5-edf4803772b6"
      unitRef="usd">700000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE2MDA4_dcb55266-1f38-4c31-8794-5808e2527f7a">Cash, Cash Equivalents and Restricted CashThe Company considers all highly liquid investments purchased with an original maturity of three months or less to be cash equivalents.</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE2MDIz_92d86ad2-7d81-4e02-acb9-393944574a98">Cash, cash equivalents, and restricted cash consisted of the following as of December&#160;31, 2021 and 2020 (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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;As of December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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:10pt;font-weight:700;line-height:100%"&gt;2020&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;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;3,827,126&#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;3,693,813&#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:bottom"&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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;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;RentPath break fee held in escrow under the terms of the Asset Purchase Agreement&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;&#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;58,750&#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 7pt;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 restricted cash related to acquisitions&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;3,349&#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="display:none"/&gt;&lt;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 25pt;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;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;&#x2014;&#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: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 #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;62,099&#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: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;Cash, cash equivalents and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;3,827,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;3,755,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock>
    <us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE2MDMw_49226ff4-da63-4b9a-8c5d-c2d31561e4ed">Cash, cash equivalents, and restricted cash consisted of the following as of December&#160;31, 2021 and 2020 (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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;As of December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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:10pt;font-weight:700;line-height:100%"&gt;2020&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;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;3,827,126&#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;3,693,813&#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:bottom"&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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;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;RentPath break fee held in escrow under the terms of the Asset Purchase Agreement&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;&#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;58,750&#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 7pt;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 restricted cash related to acquisitions&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;3,349&#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="display:none"/&gt;&lt;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 25pt;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;Total restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;&#x2014;&#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: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 #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;62,099&#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: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;Cash, cash equivalents and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;3,827,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;3,755,912&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCashAndCashEquivalentsTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzItMS0xLTEtMjYyMjg_40a730f0-512a-4307-b6c0-ce67969480bf"
      unitRef="usd">3827126000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzItMy0xLTEtMjYyMjg_2373ff11-7233-47a6-a3fd-4abc9f5606b0"
      unitRef="usd">3693813000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="i87d4beadb08e44d6a595a4c288add2b8_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzQtMS0xLTEtMjYyMjg_0c14f22e-4cc2-4eb9-863a-470f5c30dc15"
      unitRef="usd">0</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i2abd6235784245958186ab59547e21aa_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzQtMy0xLTEtMjYyMjg_8f194368-bfc4-4f13-a5ef-2e940be449b5"
      unitRef="usd">58750000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="ie42eacf60a994177a8b361270a655c29_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzUtMS0xLTEtMjYyMjg_c1927d89-f7d5-471a-934b-1c5e8a9b9e66"
      unitRef="usd">0</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i150cf13ecc9c4b259372c5f9b5b5ae37_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzUtMy0xLTEtMjYyMjg_2d83f9f2-3d5b-45b1-a651-91aa7ef80b79"
      unitRef="usd">3349000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzgtMS0xLTEtMjYyMjg_e55d8435-168f-4b6f-8a0e-628b6be8204c"
      unitRef="usd">0</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzgtMy0xLTEtMjYyMjg_cf615673-e7f9-4586-998f-90ce22493e95"
      unitRef="usd">62099000</us-gaap:RestrictedCash>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzktMS0xLTEtMjYyMjg_f953c54b-fa64-49d1-aa78-97161dbbda29"
      unitRef="usd">3827126000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTpjMmY3NDg2MDkxMWY0NjE5OTQ2YTNjZDIxNzg5NTJlNS90YWJsZXJhbmdlOmMyZjc0ODYwOTExZjQ2MTk5NDZhM2NkMjE3ODk1MmU1XzktMy0xLTEtMjYyMjg_c6d0b6f3-45e7-4749-9524-57fac49fdbed"
      unitRef="usd">3755912000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTU0_70fbeeed-6977-4592-97e7-294be5dfe448">The Company&#x2019;s customer base creates a lack of dependence on any individual customer that mitigates the risk of nonpayment of the Company&#x2019;s accounts receivable.</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTg5_5967ce65-23ca-4398-8b67-f227b8cef99c">The Company holds cash at major financial institutions that often exceed Federal Deposit Insurance Corporation insured limits. The Company manages its credit risk associated with cash concentrations by diversifying cash holdings across AAA rated Government and Treasury Money Market Funds and multiple high quality financial institutions, and by periodically evaluating the credit quality of the primary financial institutions holding such deposits. The carrying value of cash approximates fair value. Historically, the Company has not experienced any losses due to such cash concentrations.</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:CreditLossFinancialInstrumentPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTkx_4cdd13b5-b174-4a0b-887d-9a2ba0e270ad">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains an allowance for credit losses to cover its current expected credit losses ("CECL") on its trade receivables and contract assets arising from the failure of customers to make contractual payments. The Company estimates credit losses expected over the life of its trade receivables and contract assets based on historical information combined with current conditions that may affect a customer&#x2019;s ability to pay and reasonable and supportable forecasts. While the Company uses various credit quality metrics, it primarily monitors collectability by reviewing the duration of collection pursuits on its delinquent trade receivables and historical write off trends. Based on the Company&#x2019;s experience, the customer's delinquency status, which is analyzed periodically, is the strongest indicator of the credit quality of the underlying trade receivables. The Company&#x2019;s policy is to write-off trade receivables when they are deemed uncollectible. A majority of the Company's trade receivables are less than 365 days outstanding.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the CECL impairment model, the Company develops and documents its allowance for credit losses on its trade receivables based on five portfolio segments. The determination of portfolio segments is based primarily on the qualitative consideration of the nature of the Company&#x2019;s business operations and the characteristics of the underlying trade receivables, as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;CoStar Portfolio Segment&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; - The CoStar portfolio segment consists of two classes of trade receivables based on geographical location: North America and International.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Information Services Portfolio Segment&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; - The Information Services portfolio segment consists of four classes of trade receivables: CoStar Real Estate Manager; Information Services, North America; STR, US; and STR, International.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Multifamily Portfolio Segment&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; - The Multifamily portfolio segment consists of one class of trade receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;LoopNet Portfolio Segment&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; - The LoopNet portfolio segment consists of one class of trade receivables.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:54pt;text-align:justify;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Other Marketplaces Portfolio Segment&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; - The Other Marketplaces portfolio segment consists of two classes of trade receivables: Ten-X and other marketplaces.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of Residential revenue is e-commerce based and does not result in accounts receivable. Residential accounts receivable and the related allowance for credit losses are not material.&lt;/span&gt;&lt;/div&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <csgp:NumberOfPortfolioSegments
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzQzOTgwNDY1MzYyODE_e530d192-7031-4139-addb-911463bbdb80"
      unitRef="portfoliosegment">5</csgp:NumberOfPortfolioSegments>
    <csgp:NumberOfClassesOfTradeReceivablesBasedOnLocation
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzQ4NTM_3f3d856d-743a-4e23-a4d5-23922059f38e"
      unitRef="numberofreceivable">2</csgp:NumberOfClassesOfTradeReceivablesBasedOnLocation>
    <csgp:NumberOfTradeReceivablesInInformationServicesPortfolio
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzUwNzU_87b33055-beac-4b53-97f8-145098799d26"
      unitRef="numberofreceivable">4</csgp:NumberOfTradeReceivablesInInformationServicesPortfolio>
    <csgp:NumberOfTradeReceivablesInMultifamilyPortfolio
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzUyNzg_926e48cb-7554-4226-8445-3fa66cdf7f72"
      unitRef="numberofreceivable">1</csgp:NumberOfTradeReceivablesInMultifamilyPortfolio>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTY0_867776ed-7ebf-4936-8a26-c06c18f37c65">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The determination of whether an arrangement contains a lease and the classification of a lease, if applicable, is made at the commencement of the arrangement, at which time the Company also measures and recognizes a right-of-use ("ROU") asset, representing the Company&#x2019;s right to use the underlying asset, and a lease liability, representing the Company&#x2019;s obligation to make lease payments under the terms of the arrangement. For the purposes of recognizing ROU assets and lease liabilities associated with the Company&#x2019;s leases, the Company has elected the practical expedient to not recognize a ROU asset or lease liability for short-term leases, which are leases with a term of twelve months or less. The lease term is defined as the noncancelable portion of the lease term, plus any periods covered by an option to extend the lease if it is reasonably certain that that the option will be exercised.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In determining the amount of lease payments used in measuring ROU assets and lease liabilities, the Company has elected the practical expedient not to separate non-lease components from lease components for all classes of underlying assets. Consideration deemed part of the lease payments used to measure ROU assets and lease liabilities generally includes fixed payments and variable payments based on either an index or a rate, offset by lease incentives. Upon commencement, the initial ROU asset also includes any lease prepayments. ROU assets and liabilities are recognized at the lease commencement date based on the present value of lease payments over the lease term. The rates implicit within the Company's leases are generally not determinable. Therefore, the Company's incremental borrowing rate is used to determine the present value of lease payments. The determination of the Company&#x2019;s incremental borrowing rate requires judgment and is determined at lease commencement, or as of January 1, 2019 for operating leases in existence upon adoption of the new lease standard. The incremental borrowing rate is subsequently reassessed upon a modification to the lease arrangement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease costs related to the Company's operating leases are generally recognized as a single ratable lease cost over the lease term.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTY2_007da03f-4230-496c-960a-88b65ec6e0ad">Property and Equipment, NetProperty and equipment are stated at cost, net of accumulated depreciation and amortization. All repairs and maintenance costs are expensed as incurred. Costs related to acquisition of additional aircraft components or the replacement of existing aircraft components are capitalized and depreciated over the estimated useful life of the aircraft or the added or replaced component, whichever is less.Qualifying internal-use software costs incurred during the application development stage, which consist primarily of internal product development costs, outside services and purchased software license costs are capitalized and amortized over the estimated useful life of the asset. All other costs are expensed as incurred. In the fourth quarter of 2021, the Company began removing fully depreciated property and equipment from the cost and accumulated depreciation amounts disclosed.</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE2MDEw_d6b79da2-1f68-4798-bc68-ef1afbe0ca6c">Depreciation and amortization are calculated on a straight-line basis over the following estimated useful lives of the assets:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:78.216%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.675%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.734%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.191%"/&gt;&lt;td style="width:0.1%"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;Buildings &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:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzEtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjo4OGM3NDNlZWMxYzU0ZjgwYTAxODE1ZjQwMmUxZDI4M18xMDk5NTExNjI3ODE0_b130e77e-e600-4fbc-81ea-412ba20f6dec"&gt;Twenty&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzEtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjo4OGM3NDNlZWMxYzU0ZjgwYTAxODE1ZjQwMmUxZDI4M18xMDk5NTExNjI3ODI4_f64509f3-9b71-4398-a3e3-74daef10cfb0"&gt;thirty-nine&lt;/span&gt; years &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;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;Land&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:justify;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;Indefinite&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:justify;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;Aircrafts&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:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzMtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpiM2FhNTI1OGUwMDU0Y2RkOWY3YzJiN2M1NDI3ZTJlYV8xMDk5NTExNjI3ODAx_f684cd82-53c1-49fb-b6b6-a2960c47cbe0"&gt;Ten&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzMtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpiM2FhNTI1OGUwMDU0Y2RkOWY3YzJiN2M1NDI3ZTJlYV8xMDk5NTExNjI3ODEx_e0ab8ebf-a04c-4985-8ae3-7f361390fbb8"&gt;twenty&lt;/span&gt; years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;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 office equipment&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzQtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpmYmU2MTY1YmEyZTE0MTBjYjRkMmU3NmRkYjE0YWQzMF8xMDk5NTExNjI3ODAx_f62b2a3b-2672-4db1-b91e-8c0d93c43451"&gt;Five&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzQtMi0xLTEtMjcwNDIvdGV4dHJlZ2lvbjpmYmU2MTY1YmEyZTE0MTBjYjRkMmU3NmRkYjE0YWQzMF8xMDk5NTExNjI3ODA3_cc6db4e3-b3e0-4515-a7d7-b2b7f2bc83f5"&gt;ten&lt;/span&gt; years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;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;Vehicles&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: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;Five years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;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 hardware and software&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:left;vertical-align:top"&gt;&lt;div style="text-align:justify"&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 style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzYtMi0xLTEtMjcwNDQvdGV4dHJlZ2lvbjo3NTMyOTM2NDQ5ZTA0NTQ3OGVmYTI0OTliNTMwZjMwYV8xMDk5NTExNjI3ODA0_c0d284c4-15bb-4fa8-8ddc-d3c11ceb53b0"&gt;Three&lt;/span&gt; to &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzYtMi0xLTEtMjcwNDQvdGV4dHJlZ2lvbjo3NTMyOTM2NDQ5ZTA0NTQ3OGVmYTI0OTliNTMwZjMwYV8xMDk5NTExNjI3ODEx_2aff9ace-f841-4496-9e2e-8cf32eb38a0b"&gt;five&lt;/span&gt; years&lt;/span&gt;&lt;/div&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;Leasehold improvements&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:justify;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;Shorter of lease terms or useful life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment consists of the following (in thousands):&lt;/span&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;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;Leasehold improvements&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;75,634&#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;80,963&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture, office equipment and vehicles&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;47,540&#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;68,587&#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;Computer hardware and software&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;30,179&#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;86,755&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Aircrafts&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;68,670&#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;28,561&#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;Land&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;38,774&#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;24,642&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&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;96,496&#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;2,970&#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;Property and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;357,293&#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: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 #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;292,478&#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: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;Accumulated depreciation and amortization&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;(85,862)&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;(166,153)&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 19pt;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;Property and equipment, 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;271,431&#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;126,325&#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:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="if00d7707313a4ece9f68587fd7e9c12b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90YWJsZTplMDBhYTY4ZTVkMDA0YWM3OTE3ZDFmMTM5NWEyZjg3Ny90YWJsZXJhbmdlOmUwMGFhNjhlNWQwMDRhYzc5MTdkMWYxMzk1YTJmODc3XzUtMi0xLTEtMjYyMjgvdGV4dHJlZ2lvbjpiZmZhODdhMmJhOWM0M2I2OGVlNTdlMmQ0MDdiZjVhZV8xMDk5NTExNjI3Nzg2_294d7e2c-d2e1-448a-a2f4-c092ea86e911">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTQ2_d3ac08d4-042e-44fe-ba7d-729115bc11e0">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Long-Lived Assets, Intangible Assets and Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Long-lived assets, such as property and equipment, and purchased intangibles subject to amortization, are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. Recoverability of assets to be held and used is measured by a comparison of the carrying amount of an asset to the estimated undiscounted future cash flows expected to be generated by the asset or asset group. If the carrying amount of an asset exceeds its estimated undiscounted future cash flows, an impairment charge is recognized in the amount by which the carrying amount of the asset exceeds the fair value of the asset.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired technology and data, customer base assets, trade names and other intangible assets are related to the Company&#x2019;s acquisitions. Acquired technology and data is amortized on a straight-line basis over periods ranging from one year to eight years. Acquired intangible assets characterized as customer base assets consist of acquired customer contracts and the related customer relationships and are amortized over periods ranging from five years to thirteen years. Acquired customer bases are amortized on an accelerated or straight-line basis depending on the expected economic benefit of the intangible asset. Acquired trade names and other intangible assets are amortized on a straight-line basis over periods ranging from one year to fifteen years. In the fourth quarter of 2021, the Company began removing fully amortized intangible assets from the cost and accumulated amortization amounts disclosed.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill represents the future economic benefits arising from a business combination and is calculated as the excess of the purchase consideration paid in a business combination over the fair value of the net identifiable assets acquired. Goodwill is not amortized, but instead is assigned to each of the Company's reporting units and tested for impairment at least annually, on October 1, or more frequently if an event or other circumstance indicates that the fair value of a reporting unit may be below its carrying amount. If it is determined that it is more likely than not that the fair value of a reporting unit is less than its carrying value, the Company then determines the fair value of each reporting unit.&#160;The estimate of the fair value of each reporting unit is based on a projected discounted cash flow model that includes significant assumptions and estimates including the discount rate, growth rate and future financial performance. Assumptions about the discount rate are based on a weighted average cost of capital for comparable companies. Assumptions about the growth rate and future financial performance of a reporting unit are based on the Company's forecasts, business plans, economic projections and anticipated future cash flows. The fair value of each reporting unit is compared to the carrying amount of the reporting unit. If the carrying value of the reporting unit exceeds the fair value, then an impairment loss is recognized for the difference.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iaa4836fae18b4f35a6cff4a90e079c2b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzk3ODA_29d0d6bd-cbb1-402b-92d1-8a3031092b31">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ia0d50191617f43bea9d7028cca0cf580_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzk3ODY_906f7c2f-8833-4c42-8f83-78ca42ff52d4">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ifd1b856b1eb44d4aa79e1da033bbd26e_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzk5Nzc_ee4791d5-8f42-4cd9-a229-b70141d0c420">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i9d5967d6d4e941318cf08790d2ad2057_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzk5ODM_c7bbe05a-ec43-48eb-bde3-74c471cfc12a">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i3e10bd2693074604ad6f40e2d102d6aa_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzEwMjQ4_d358560f-1a04-4baa-8ad4-a65894881b6d">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i51495ec4651a449eb79d16e35013bb23_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzEwMjU0_3e724139-c793-4cbc-bcbc-46b7ba094085">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:DebtPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTgz_ed60dfe0-838e-4615-9e2d-1c4da2fab30a">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Debt Issuance Costs&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Costs incurred in connection with the issuance of long-term debt are deferred and amortized as interest expense over the term of the related debt using the effective interest method for term debt and on a straight-line basis for revolving debt. The Company made a policy election to classify deferred issuance costs on the revolving credit facility as a long-term asset on its consolidated balance sheets. Upon a refinancing or amendment, previously capitalized debt issuance costs are expensed and included in loss on extinguishment of debt if the Company determines that there has been a substantial modification of the related debt. If the Company determines that there has not been a substantial modification of the related debt, any previously capitalized debt issuance costs are amortized as interest expense over the term of the new debt instrument.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtPolicyTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNTcvZnJhZzo2MTZhOTJlZTc3NTA0YmRhODRjZjRiNjUzM2UwNWY0My90ZXh0cmVnaW9uOjYxNmE5MmVlNzc1MDRiZGE4NGNmNGI2NTMzZTA1ZjQzXzE1OTYy_cdddd9dc-606d-4a0a-ab6c-e71202bb24d1">&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Business Combinations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company allocates the purchase consideration to the tangible assets acquired, liabilities assumed and intangible assets acquired based on their estimated fair values. The purchase price is determined based on the fair value of the assets transferred, liabilities assumed and equity interests issued, after considering any transactions that are separate from the business combination. The excess of the fair value of purchase consideration over the fair values of these identifiable assets and liabilities is recorded as goodwill. The Company applies significant assumptions, estimates and judgments in determining the fair value of assets acquired and liabilities assumed on the acquisition date, especially with respect to intangible assets and contingent liabilities. Significant estimates in valuing certain intangible assets include, but are not limited to, future expected cash flows from acquired customer bases, acquired technology and acquired trade names, useful lives, royalty rates and discount rates. Any adjustments to provisional amounts that are identified during the measurement period are recorded in the reporting period in which the adjustment amounts are determined. Upon the conclusion of the measurement period, any subsequent adjustments are recorded to earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For a given acquisition, the Company may identify certain pre-acquisition contingencies as of the acquisition date and may extend its review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether the Company includes these contingencies as a part of the fair value estimates of assets acquired and liabilities assumed and, if so, to determine their estimated amounts.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;If the Company cannot reasonably determine the fair value of a pre-acquisition contingency (non-income tax related) by the end of the measurement period, which is generally the case given the nature of such matters, the Company will recognize an &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;asset or a liability for such pre-acquisition contingency if: (i) it is probable that an asset existed or a liability had been assumed at the acquisition date and (ii) the amount of the asset or liability can be reasonably estimated. Subsequent to the measurement period, changes in the Company's estimates of such contingencies will affect earnings and could have a material effect on its results of operations and financial position.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. The Company reevaluates these items based upon facts and circumstances that existed as of the acquisition date, with any adjustments to its preliminary estimates being recorded to goodwill provided that the Company is within the measurement period. Subsequent to the measurement period, changes to these uncertain tax positions and tax related valuation allowances will affect the Company's provision for income taxes in its consolidated statements of operations and comprehensive income and could have a material impact on its results of operations and financial position.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjMvZnJhZzowNDg4Zjk2ZTBiYjQ0NGU2OGE1MmY0MzFmZDA2N2Y0ZC90ZXh0cmVnaW9uOjA0ODhmOTZlMGJiNDQ0ZTY4YTUyZjQzMWZkMDY3ZjRkXzM3NzQ_d1bc3d4c-5d01-4a23-89c9-5bc3cc0e68de">&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the fourth quarter of 2021, the Company adopted ASU 2021-08,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Business Combinations (Topic 805), Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&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;. This guidance requires contract assets and liabilities acquired or assumed in an acquisition be measured in accordance with the accounting framework for revenue from contracts with customers as if the Company had originated the acquired contract. This is an exception to the general requirement to measure assets acquired and liabilities assumed at their fair value on the acquisition date. The Company applied this revised guidance to all acquisitions in the year ended December&#160;31, 2021. The application of this guidance to contract assets and contract liabilities acquired or assumed in connection with the Company's acquisitions for the year ended December&#160;31, 2021 did not have a material impact on the Company's consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 12, 2020, the Financial Accounting Standards Board issued ASU 2020-04, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Reference Rate Reform (&#x201c;ASC 848&#x201d;): Facilitation of the Effects of Reference Rate Reform on Financial Reporting.&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; Accounting Standards Codification (&#x201c;ASC&#x201d;) 848 contains optional expedients and exceptions for applying GAAP to debt, contracts, hedging relationships and other transactions affected by reference rate reform. The provisions of ASC 848 must be applied to all contracts that are accounted for under a Topic, Subtopic or Industry Subtopic for all transactions other than derivatives, which may be applied at a hedging relationship level. This guidance is effective for fiscal years beginning after January 1, 2021, including interim periods within those fiscal years. The Company's 2020 Credit Agreement provides for a $750&#160;million revolving credit facility and a letter of credit sublimit of $20&#160;million, with interest rates benchmarked to LIBOR. As of December 31, 2021, no amounts were issued or drawn under this facility. The Company is currently evaluating the impact this guidance will have on its consolidated financial statements and related disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="if6d26213d2a742fdbb327076c9434f3f_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjMvZnJhZzowNDg4Zjk2ZTBiYjQ0NGU2OGE1MmY0MzFmZDA2N2Y0ZC90ZXh0cmVnaW9uOjA0ODhmOTZlMGJiNDQ0ZTY4YTUyZjQzMWZkMDY3ZjRkXzIxOTkwMjMyNzI2MjE_33067e3b-4632-4a18-b777-8fa686ba7cb7"
      unitRef="usd">750000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i48a8e6560d724c3f941209d94fb97d9e_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjMvZnJhZzowNDg4Zjk2ZTBiYjQ0NGU2OGE1MmY0MzFmZDA2N2Y0ZC90ZXh0cmVnaW9uOjA0ODhmOTZlMGJiNDQ0ZTY4YTUyZjQzMWZkMDY3ZjRkXzIxOTkwMjMyNzI2MzU_384d0d35-764c-4700-8964-3c682b4df6dd"
      unitRef="usd">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzIxMTI_5c649a9b-2d3e-4c79-bbb4-d94e5ff3eb6c">REVENUE FROM CONTRACTS WITH CUSTOMERS &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Disaggregated 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-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides information, analytics and online marketplaces to the commercial real estate industry, hospitality industry, residential industry and related professionals. The revenues by operating segment and type of service consist of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:8.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.311%"/&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:8.458%"/&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:8.311%"/&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:8.311%"/&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:8.458%"/&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:8.311%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.311%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.174%"/&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="51" style="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;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="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;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="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;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;North America&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;International&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;Total&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;North America&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;International&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;Total&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;North America&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;International&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;Total&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:8pt;font-weight:400;line-height:100%"&gt;CoStar&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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;686,948&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;35,873&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;722,821&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;634,205&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;30,530&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;664,735&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;590,222&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;27,576&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;617,798&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Information services&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:8pt;font-weight:400;line-height:100%"&gt;113,723&#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:8pt;font-weight:400;line-height:100%"&gt;27,932&#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:8pt;font-weight:400;line-height:100%"&gt;141,655&#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:8pt;font-weight:400;line-height:100%"&gt;104,117&#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:8pt;font-weight:400;line-height:100%"&gt;25,953&#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:8pt;font-weight:400;line-height:100%"&gt;130,070&#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:8pt;font-weight:400;line-height:100%"&gt;76,950&#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:8pt;font-weight:400;line-height:100%"&gt;11,496&#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:8pt;font-weight:400;line-height:100%"&gt;88,446&#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:8pt;font-weight:400;line-height:100%"&gt;Multifamily&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:8pt;font-weight:400;line-height:100%"&gt;678,680&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;678,680&#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:8pt;font-weight:400;line-height:100%"&gt;598,555&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;598,555&#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:8pt;font-weight:400;line-height:100%"&gt;490,631&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;490,631&#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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;LoopNet&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:8pt;font-weight:400;line-height:100%"&gt;204,816&#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:8pt;font-weight:400;line-height:100%"&gt;2,695&#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="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:8pt;font-weight:400;line-height:100%"&gt;207,511&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:8pt;font-weight:400;line-height:100%"&gt;179,371&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:8pt;font-weight:400;line-height:100%"&gt;434&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:8pt;font-weight:400;line-height:100%"&gt;179,805&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:8pt;font-weight:400;line-height:100%"&gt;149,400&#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:8pt;font-weight:400;line-height:100%"&gt;580&#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:8pt;font-weight:400;line-height:100%"&gt;149,980&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:8pt;font-weight:400;line-height:100%"&gt;74,583&#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:8pt;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="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:8pt;font-weight:400;line-height:100%"&gt;74,583&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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="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:8pt;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:8pt;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:8pt;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;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other Marketplaces&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:8pt;font-weight:400;line-height:100%"&gt;118,885&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;118,885&#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:8pt;font-weight:400;line-height:100%"&gt;85,854&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;85,854&#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:8pt;font-weight:400;line-height:100%"&gt;52,864&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;52,864&#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:8pt;font-weight:400;line-height:100%"&gt;Total revenues&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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,877,635&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;66,500&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,944,135&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,602,102&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;56,917&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,659,019&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,360,067&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;39,652&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,399,719&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;As of September 30, 2021, Commercial Property and Land revenue has been further disaggregated into LoopNet, Residential and Other Marketplaces. Prior period amounts have been adjusted to reflect this presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Deferred Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in deferred revenue for the period were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:center"&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:86.162%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.638%"/&gt;&lt;td style="width:0.1%"/&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December&#160;31, 2020&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 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;77,363&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized in the current period from the amounts in the beginning balance&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;(74,578)&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;New deferrals, net of amounts recognized in the current period&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;94,143&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effects of foreign currency&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;(204)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;Balance at December&#160;31, 2021&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;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;96,724&#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:bottom"/&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:9pt;font-weight:400;line-height:100%"&gt;__________________________&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Deferred revenue was comprised of $74.9 million&#160;of current liabilities and $2.5&#160;million of noncurrent liabilities classified within lease and other long-term liabilities on the Company&#x2019;s consolidated balance sheet as of December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Deferred revenue was comprised of $95.5 million&#160;of current liabilities and $1.2 million of noncurrent liabilities classified within lease and other long-term liabilities on the Company&#x2019;s consolidated balance sheet as of December&#160;31, 2021. This balance includes $2.2 million of net new deferrals recognized in connection with business acquisitions made in 2021. See Note 5 for further discussion of acquisitions.&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="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Contract Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company had contract assets of $9 million as of December&#160;31, 2021 and December&#160;31, 2020, which are generated when contractual billing schedules differ from revenue recognition timing. Contract assets represent a conditional right to consideration for satisfied performance obligations that becomes a receivable when the conditions are satisfied. Current contract assets are included in prepaid expenses and other current assets and non-current contract assets are included in deposits and other assets on the Company's consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Commissions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Commissions expense is included in selling and marketing expense in the Company's consolidated statements of operations. The Company determined that no deferred commissions were impaired as of December&#160;31, 2021 and December&#160;31, 2020. Commissions expense activity for the years ended December&#160;31, 2021, 2020 and 2019 was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;text-indent:18pt"&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:55.040%"/&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:1.0%"/&gt;&lt;td style="width:13.081%"/&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:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="15" 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:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&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;Commissions incurred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;117,391&#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;97,183&#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;87,043&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commissions capitalized in the current period&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="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;(72,038)&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;(64,355)&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;(66,688)&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;Amortization of deferred commissions costs&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="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;63,391&#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;60,516&#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;53,421&#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 19pt;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;Total commissions expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;108,744&#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;93,344&#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;73,776&#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;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;See Note 2 for the Company's policy on accounting for commissions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Unsatisfied Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Remaining contract consideration&lt;/span&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; for which revenue had not been recognized due to unsatisfied performance obligations was $315 million as of December&#160;31, 2021.which the Company expects to recognize over the next five years. This amount does not include contract consideration for contracts with a duration of one year or less.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzIxMTM_69751612-3b06-4df7-b06d-057ec6bd0d76">&lt;div style="margin-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company provides information, analytics and online marketplaces to the commercial real estate industry, hospitality industry, residential industry and related professionals. The revenues by operating segment and type of service consist of the following (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:8.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.311%"/&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:8.458%"/&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:8.311%"/&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:8.311%"/&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:8.458%"/&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:8.311%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.311%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.174%"/&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="51" style="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;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="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;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="15" style="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;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;North America&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;International&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;Total&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;North America&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;International&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;Total&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;North America&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;International&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;Total&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:8pt;font-weight:400;line-height:100%"&gt;CoStar&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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;686,948&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;35,873&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;722,821&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;634,205&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;30,530&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;664,735&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;590,222&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;27,576&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;617,798&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Information services&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:8pt;font-weight:400;line-height:100%"&gt;113,723&#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:8pt;font-weight:400;line-height:100%"&gt;27,932&#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:8pt;font-weight:400;line-height:100%"&gt;141,655&#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:8pt;font-weight:400;line-height:100%"&gt;104,117&#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:8pt;font-weight:400;line-height:100%"&gt;25,953&#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:8pt;font-weight:400;line-height:100%"&gt;130,070&#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:8pt;font-weight:400;line-height:100%"&gt;76,950&#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:8pt;font-weight:400;line-height:100%"&gt;11,496&#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:8pt;font-weight:400;line-height:100%"&gt;88,446&#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:8pt;font-weight:400;line-height:100%"&gt;Multifamily&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:8pt;font-weight:400;line-height:100%"&gt;678,680&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;678,680&#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:8pt;font-weight:400;line-height:100%"&gt;598,555&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;598,555&#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:8pt;font-weight:400;line-height:100%"&gt;490,631&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;490,631&#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:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;LoopNet&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:8pt;font-weight:400;line-height:100%"&gt;204,816&#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:8pt;font-weight:400;line-height:100%"&gt;2,695&#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="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:8pt;font-weight:400;line-height:100%"&gt;207,511&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:8pt;font-weight:400;line-height:100%"&gt;179,371&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:8pt;font-weight:400;line-height:100%"&gt;434&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:8pt;font-weight:400;line-height:100%"&gt;179,805&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:8pt;font-weight:400;line-height:100%"&gt;149,400&#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:8pt;font-weight:400;line-height:100%"&gt;580&#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:8pt;font-weight:400;line-height:100%"&gt;149,980&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Residential&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:8pt;font-weight:400;line-height:100%"&gt;74,583&#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:8pt;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="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:8pt;font-weight:400;line-height:100%"&gt;74,583&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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;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="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:8pt;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:8pt;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:8pt;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;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other Marketplaces&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:100%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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:8pt;font-weight:400;line-height:100%"&gt;118,885&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;118,885&#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:8pt;font-weight:400;line-height:100%"&gt;85,854&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;85,854&#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:8pt;font-weight:400;line-height:100%"&gt;52,864&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;52,864&#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:8pt;font-weight:400;line-height:100%"&gt;Total revenues&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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,877,635&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;66,500&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,944,135&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,602,102&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;56,917&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,659,019&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,360,067&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;39,652&#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:8pt;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:8pt;font-weight:400;line-height:100%"&gt;1,399,719&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;As of September 30, 2021, Commercial Property and Land revenue has been further disaggregated into LoopNet, Residential and Other Marketplaces. Prior period amounts have been adjusted to reflect this presentation.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia692a9d2e701455b96029b8126300ed5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtMS0xLTEtMjYyMjg_26e3be28-f05d-428b-8b5c-f7c6a2f2b69c"
      unitRef="usd">686948000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6dcb4b3167843fa9a258f823d6490ed_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtMy0xLTEtMjYyMjg_7b6d4e5d-90d9-4f27-84aa-c3c614859f40"
      unitRef="usd">35873000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccce15ee388b4af88b4c4bd002986ad5_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtNS0xLTEtMjYyMjg_bb0e4bcd-6986-4175-9ca4-71cc8165f711"
      unitRef="usd">722821000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4da7d00b68bb425fac46cf478ee2c881_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtNy0xLTEtMjYyMjg_c1b6f048-46f9-4a19-afb6-6bfa6a9da166"
      unitRef="usd">634205000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i59de2d337a6341458fe83cbf8d794ea3_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtOS0xLTEtMjYyMjg_8e46b9d7-e5f7-49a6-9ad3-0dc24f985f39"
      unitRef="usd">30530000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bd3ad6cf84748f7848125a31121ef76_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtMTEtMS0xLTI2MjI4_acd8e8ab-093a-4702-948d-f7eedcb2b50e"
      unitRef="usd">664735000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i62fdee75b73f40d78ab046857634bbaf_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzMtMTMtMS0xLTQwMjIy_d7fa511e-42a5-4e90-ac18-21824f3d0f53"
      unitRef="usd">590222000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie60766046b5d4350b4e3f276f0330252_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzMtMTUtMS0xLTQwMjQ1_19bf8584-02f6-421b-80da-9cb5b23c6555"
      unitRef="usd">27576000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8b2f3648547947e8b0d85da1f707faed_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzMtMTctMS0xLTQwMjY2_e307f944-7a7c-49b6-823e-a5c1c9cf8e6e"
      unitRef="usd">617798000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9de8f2787d39486d8f6055689dcbb8fe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtMS0xLTEtMjYyMjg_a1156acf-3cca-4681-8f82-f6f9bae56c9e"
      unitRef="usd">113723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9195b5bfa2dc4deeb4c3d5fac259ecfe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtMy0xLTEtMjYyMjg_420ca59b-e65c-47ab-8efe-314efe961afe"
      unitRef="usd">27932000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a7b8d580f9a4e7288892bc49fde231b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtNS0xLTEtMjYyMjg_8b84cb92-91a7-45ad-a76c-a924035c1d2b"
      unitRef="usd">141655000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1f9f47e54a74eb38b42fe19504ca9ea_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtNy0xLTEtMjYyMjg_4e3daea2-4aa0-4c63-b3f5-dfac0402a74b"
      unitRef="usd">104117000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idd3630f1660647cba2a60a55288d05cf_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtOS0xLTEtMjYyMjg_0a059bb4-a4a5-4694-a40a-0f9628d6f027"
      unitRef="usd">25953000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i84c2e32d4cdb468dbadf6d64db8a0102_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtMTEtMS0xLTI2MjI4_49877794-3d6c-4cfa-90e4-235be8b551f7"
      unitRef="usd">130070000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i41ba35933d96428f98b2833549beea21_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtMTMtMS0xLTQwMjIy_25e27c51-46e1-4f8f-8344-d554532b0313"
      unitRef="usd">76950000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic05e3f4c6dfb48eb8b18ef655c657f11_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtMTUtMS0xLTQwMjQ1_edf0bd44-5577-446c-9877-eaaa6d1c7ee4"
      unitRef="usd">11496000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i147691e0328c4b9c97122523289dd3b7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzQtMTctMS0xLTQwMjY2_bea53117-808a-496e-abaf-70d5d76835e1"
      unitRef="usd">88446000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id89529c0fb4c4565af146ff8a8ebd3bf_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMS0xLTEtMjYyMjg_17d9cc7e-14e5-48b9-b9d6-bd1ae9bd6e6a"
      unitRef="usd">678680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4488db68d12d41fe9c6f51c7931b899f_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMy0xLTEtMjYyMjg_76abee09-9948-4662-9f21-f2624b4d351d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3a5fc817f6064752ac51011621282c0c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctNS0xLTEtMjYyMjg_6cef1d4e-92f8-4e0a-9c6c-55f206c213f3"
      unitRef="usd">678680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia9ca791160744d938f32fc8595df1d03_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctNy0xLTEtMjYyMjg_cba5d17c-4444-4265-a931-5e4a7a9e2c47"
      unitRef="usd">598555000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0d80f7131aee47ecbb2cf95243897011_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctOS0xLTEtMjYyMjg_2d76aaae-06ac-4dbb-ac3a-d71f2c1b7c4c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6ef2d6d6da094f4ba185b85160dc8552_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMTEtMS0xLTI2MjI4_086ba77c-4b5a-4b89-a57d-da0d7da95fb6"
      unitRef="usd">598555000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i41859291ab294eb5a2db7fd78c34668c_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtMTMtMS0xLTQwMjI5_27a55dd5-833f-4c1c-b63e-035ba5e89723"
      unitRef="usd">490631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic62b11156dbe432f8d14a8d26ad96a33_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtMTUtMS0xLTQxNTY2_008b322a-071a-466d-b66b-2f58662a95bf"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia269372bbad54b75aae11c81fe577cd1_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzUtMTctMS0xLTQwMjY5_61c90256-156a-4253-86a1-83e570cb49ee"
      unitRef="usd">490631000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id39560cd4fa749bfbb6d8d4e0474e3de_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtMS0xLTEtMjk2NDY_8edfafa3-fd21-43e1-97fa-805d64ae30a4"
      unitRef="usd">204816000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i96844c2c0b4049b1a48243dd569ab1de_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtMy0xLTEtMjk2ODY_dc2c8e3f-463c-482a-9738-b9f7418c0554"
      unitRef="usd">2695000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic6b5ca37366e44a988de9497bd4888cc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtNS0xLTEtMjk3MTA_c0792c25-f098-4afc-a45b-7968dc5df61a"
      unitRef="usd">207511000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida59bde7ce46467e985a63f7f61c7033_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtNy0xLTEtMjk2OTg_cf47293b-0020-47df-bfdd-dc0f5de523a9"
      unitRef="usd">179371000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id4b349f5d13c4ac3aa35e04125acbb75_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtOS0xLTEtMjk3MjE_2d466f0c-46cf-46b4-a631-921430782b92"
      unitRef="usd">434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i30e9a40a1d3b465b9e17539a5d32bcb8_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtMTEtMS0xLTI5NzI1_7ee71d65-a2a7-40cd-a114-6974168e5b66"
      unitRef="usd">179805000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i614dc638cdc0495485b5d3ddb03e45ef_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtMTMtMS0xLTQwMjc2_58ac97f6-94eb-4452-aa83-6f539ce920a8"
      unitRef="usd">149400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0c7f49b4e8a45669cac15dec343f957_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtMTUtMS0xLTQxNDgx_0b584e29-c48c-47a2-b1d0-2714c5eb00ce"
      unitRef="usd">580000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b238e3efca74a3789677e1734fcbdb0_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzYtMTctMS0xLTQxNDkw_eb6a4ddd-a6a8-45d6-a41e-19efcef85cfe"
      unitRef="usd">149980000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i911940f4bade47c08d516fc08f615016_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMS0xLTEtMjk2NTQ_f9bcc90b-11aa-41a0-a789-7b729fbc1b5d"
      unitRef="usd">74583000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if03a0e25fbb242948d823edc24179843_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMy0xLTEtMjk2OTA_8dfc06d5-3af5-4bb1-bfcc-217ca74c9854"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia72bcbfdf0404534a344fdfaaf2bd0f2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctNS0xLTEtMjk3MDA_48c9e3ff-a0c9-4355-9177-9d4a85960314"
      unitRef="usd">74583000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i273ead65c58242f0aeb68a9adb81424d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctNy0xLTEtMjk3MTk_7686aeb4-cff0-4c55-bfa1-882d637e5fb3"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idab3e38d30394efd9fca4f2ccaac3dd1_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctOS0xLTEtMjk3MjM_1a55cb05-bb8b-4b0c-8d57-624ded91e73d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i31a778127dd4432b84ec5d78843d43e4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMTEtMS0xLTI5NzI3_2b8b1b35-0f72-44cc-8fa2-f0eaa9a7228f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4c413cee25af4611999e5be1726cae13_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMTMtMS0xLTQxNDY2_25176905-320d-4124-9056-b1dfca8cda97"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9fd73b50860a4e12ada6c1c405f15fd6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMTUtMS0xLTQxNDgx_5a2fe244-ccdf-4170-b86c-227cc267c62a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icf2b15c6f57b488e881bb5f19fdf4372_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzctMTctMS0xLTQxNDkw_8c05408b-595a-4767-a279-7f8974e308e0"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i963c2168164442afa0f448b9b1241056_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtMS0xLTEtMjYyMjg_6c2c756e-a882-4947-88f3-ec4cd43ba3a1"
      unitRef="usd">118885000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib9ac71980cb74d3da70081773154a02a_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtMy0xLTEtMjYyMjg_330a15fe-c767-4489-ab58-d6450479304a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icbef371c71ad4fab9aec29e784df104d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtNS0xLTEtMjYyMjg_504f8eed-4917-40d8-8eed-1ad1d7db7435"
      unitRef="usd">118885000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d0741f73dc14d2b8f59954a42e43346_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtNy0xLTEtMjYyMjg_47f19981-5329-459a-b337-389bc29bc060"
      unitRef="usd">85854000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9ca2e5e7d8344a6b9721a805538ebe55_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtOS0xLTEtMjYyMjg_c45fac11-7e12-492d-a915-cb5d9fff52a4"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i754250d64c1f427987f4edeb1b37e815_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtMTEtMS0xLTI2MjI4_164dc02f-7918-477d-8207-642f3874880d"
      unitRef="usd">85854000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3f260512b7024bf9ad32629081be5688_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtMTMtMS0xLTQxNDY2_16aa211b-264d-4577-93c6-b35f251588cc"
      unitRef="usd">52864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0118703c0eb34bfa82de5ab2cb6b8d0e_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtMTUtMS0xLTQwMjUy_0e7a9d55-ffcf-41a5-b725-1f5859c61a02"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib4436553ff8d418f9c8e9cc2732969ad_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzgtMTctMS0xLTQxNDkw_86a68202-701a-46a1-91f6-8876e79a94b8"
      unitRef="usd">52864000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7cc6fcf940964397b1cdca6234fba2a9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktMS0xLTEtMjYyMjg_d46f8c2b-2d18-4ce4-9bd2-1830697d4bab"
      unitRef="usd">1877635000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i826af0ae57d44711b22e8b36fa6c6c48_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktMy0xLTEtMjYyMjg_68bd256d-a37f-4d88-946f-908c9a4d705e"
      unitRef="usd">66500000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktNS0xLTEtMjYyMjg_29cd8a04-5872-4257-88f5-39e707df3e39"
      unitRef="usd">1944135000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9f160ec2c36342368cc109c675637101_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktNy0xLTEtMjYyMjg_f0aa3a12-a7f9-45d2-8a96-3906de36d30c"
      unitRef="usd">1602102000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5d4dc603c55342ba865cc629a433b1d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktOS0xLTEtMjYyMjg_b482c83c-2838-4911-9d96-ea76597c1516"
      unitRef="usd">56917000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktMTEtMS0xLTI2MjI4_d4a916f3-a799-4e6b-8dc3-1c337ba1300e"
      unitRef="usd">1659019000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieed2cdbb170a43bdb78bc77917e73ae4_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktMTMtMS0xLTQwMjM4_6be41446-a17d-4b6f-b442-c7e11bc06293"
      unitRef="usd">1360067000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia16c279d0b4847f7a01a9ae1e71fe0f6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktMTUtMS0xLTQwMjU5_b9cac08c-3d5a-41b1-8bae-591b084de17b"
      unitRef="usd">39652000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZTozYmFjOGViNmE1Yjg0YmMwYmJhYmU3Y2FmMzI0NGZlNi90YWJsZXJhbmdlOjNiYWM4ZWI2YTViODRiYzBiYmFiZTdjYWYzMjQ0ZmU2XzktMTctMS0xLTQwMjc0_5c69768c-8d14-4e12-8409-e85d1d9526ef"
      unitRef="usd">1399719000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzIxMDk_ad30fb33-e995-4539-98eb-9dc1befa81a1">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in deferred revenue for the period were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:center"&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:86.162%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.638%"/&gt;&lt;td style="width:0.1%"/&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December&#160;31, 2020&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 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;77,363&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized in the current period from the amounts in the beginning balance&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;(74,578)&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;New deferrals, net of amounts recognized in the current period&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;94,143&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effects of foreign currency&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;(204)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;Balance at December&#160;31, 2021&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;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;96,724&#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:bottom"/&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:9pt;font-weight:400;line-height:100%"&gt;__________________________&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Deferred revenue was comprised of $74.9 million&#160;of current liabilities and $2.5&#160;million of noncurrent liabilities classified within lease and other long-term liabilities on the Company&#x2019;s consolidated balance sheet as of December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Deferred revenue was comprised of $95.5 million&#160;of current liabilities and $1.2 million of noncurrent liabilities classified within lease and other long-term liabilities on the Company&#x2019;s consolidated balance sheet as of December&#160;31, 2021. This balance includes $2.2 million of net new deferrals recognized in connection with business acquisitions made in 2021. See Note 5 for further discussion of acquisitions.&lt;/span&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyYTYxYTNkNWUyMzQ0NzA5YjVlMTFlYWFmOWE5MTg1OS90YWJsZXJhbmdlOjJhNjFhM2Q1ZTIzNDQ3MDliNWUxMWVhYWY5YTkxODU5XzAtMS0xLTEtMjYyMjg_7f5f6161-0802-4aa1-8afb-0a281fef147e"
      unitRef="usd">77363000</us-gaap:ContractWithCustomerLiability>
    <csgp:ContractwithCustomerLiabilityPriorPeriodAmountsRecognized
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyYTYxYTNkNWUyMzQ0NzA5YjVlMTFlYWFmOWE5MTg1OS90YWJsZXJhbmdlOjJhNjFhM2Q1ZTIzNDQ3MDliNWUxMWVhYWY5YTkxODU5XzEtMS0xLTEtMjYyMjg_ce91a927-5244-4cba-97ce-8848e66365c2"
      unitRef="usd">74578000</csgp:ContractwithCustomerLiabilityPriorPeriodAmountsRecognized>
    <csgp:ContractwithCustomerLiabilityNewDeferralsNetofAmountsRecognizedinCurrentPeriod
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyYTYxYTNkNWUyMzQ0NzA5YjVlMTFlYWFmOWE5MTg1OS90YWJsZXJhbmdlOjJhNjFhM2Q1ZTIzNDQ3MDliNWUxMWVhYWY5YTkxODU5XzItMS0xLTEtMjYyMjg_e4f69656-0361-4260-b8ae-5dd500a95c33"
      unitRef="usd">94143000</csgp:ContractwithCustomerLiabilityNewDeferralsNetofAmountsRecognizedinCurrentPeriod>
    <csgp:ContractwithCustomerAssetEffectsofCurrencyTranslation
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyYTYxYTNkNWUyMzQ0NzA5YjVlMTFlYWFmOWE5MTg1OS90YWJsZXJhbmdlOjJhNjFhM2Q1ZTIzNDQ3MDliNWUxMWVhYWY5YTkxODU5XzMtMS0xLTEtMjYyMjg_401140fd-6ca3-4c37-9a09-a38b64052b74"
      unitRef="usd">-204000</csgp:ContractwithCustomerAssetEffectsofCurrencyTranslation>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyYTYxYTNkNWUyMzQ0NzA5YjVlMTFlYWFmOWE5MTg1OS90YWJsZXJhbmdlOjJhNjFhM2Q1ZTIzNDQ3MDliNWUxMWVhYWY5YTkxODU5XzUtMS0xLTEtMjYyMjg_3a2c894d-a49f-4d71-9d75-7010e9c5b8d4"
      unitRef="usd">96724000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzEwOTk1MTE2MzEwODk_ba58932c-7082-497c-ad95-f941daa2b552"
      unitRef="usd">74900000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzIxOTkwMjMyNTkxOTc_ec3d2026-1963-4fd4-bfca-3f0502d1799d"
      unitRef="usd">2500000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzQ0Ng_444e8252-2a3f-456c-8405-6b6f46e30526"
      unitRef="usd">95500000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzQ3Nw_5f181873-532a-43a8-a239-54d2d036d1cf"
      unitRef="usd">1200000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzE2NDkyNjc0NDM5ODE_6412853b-583b-49cb-9c9e-471435003f1a"
      unitRef="usd">2200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:ContractWithCustomerAssetGross
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzgwOQ_361d3701-4e30-454b-85a1-7da5d78d052e"
      unitRef="usd">9000000</us-gaap:ContractWithCustomerAssetGross>
    <us-gaap:ContractWithCustomerAssetGross
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzgwOQ_91d86604-23ba-4395-bf01-9278b4eb08d8"
      unitRef="usd">9000000</us-gaap:ContractWithCustomerAssetGross>
    <csgp:DeferredSalesCommissionsImpairment
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzQzNDMwNzA5MzAwMjIy_09a5373a-bdc5-43fc-afa3-02152c72cc2d"
      unitRef="usd">0</csgp:DeferredSalesCommissionsImpairment>
    <csgp:DeferredSalesCommissionsImpairment
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzQzNDMwNzA5MzAwMjIy_182b43d2-4d37-4cdb-96c2-a106679e3741"
      unitRef="usd">0</csgp:DeferredSalesCommissionsImpairment>
    <csgp:ScheduleofCommissionsExpenseTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzIxMDU_d9cefc4c-fc34-4998-b420-9a56e6375023">Commissions expense activity for the years ended December&#160;31, 2021, 2020 and 2019 was as follows (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:55.040%"/&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:1.0%"/&gt;&lt;td style="width:13.081%"/&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:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="15" 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:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&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;Commissions incurred&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;117,391&#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;97,183&#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;87,043&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commissions capitalized in the current period&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="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;(72,038)&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;(64,355)&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;(66,688)&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;Amortization of deferred commissions costs&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="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;63,391&#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;60,516&#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;53,421&#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 19pt;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;Total commissions expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;108,744&#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;93,344&#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;73,776&#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;</csgp:ScheduleofCommissionsExpenseTableTextBlock>
    <csgp:CommissionsIncurred
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzItMy0xLTEtMjYyMjg_42acca6b-7751-4df5-986f-e05b5985300d"
      unitRef="usd">117391000</csgp:CommissionsIncurred>
    <csgp:CommissionsIncurred
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzItNS0xLTEtMjYyMjg_acedf3e9-144f-4dd7-8075-b152cbaf6c76"
      unitRef="usd">97183000</csgp:CommissionsIncurred>
    <csgp:CommissionsIncurred
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzItNy0xLTEtNDg2MDQ_d7760e72-93bd-414b-958a-6f8effcaf1af"
      unitRef="usd">87043000</csgp:CommissionsIncurred>
    <csgp:CommissionsCapitalizedintheCurrentPeriod
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzMtMy0xLTEtMjYyMjg_a5e49edd-03d5-4731-9261-07255590b8e3"
      unitRef="usd">72038000</csgp:CommissionsCapitalizedintheCurrentPeriod>
    <csgp:CommissionsCapitalizedintheCurrentPeriod
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzMtNS0xLTEtMjYyMjg_3e575c9e-c49d-4b80-a248-5d1360c59e8e"
      unitRef="usd">64355000</csgp:CommissionsCapitalizedintheCurrentPeriod>
    <csgp:CommissionsCapitalizedintheCurrentPeriod
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzMtNy0xLTEtNDg2MDQ_345b286e-4fb7-4a53-b5cf-0c37c6afcc59"
      unitRef="usd">66688000</csgp:CommissionsCapitalizedintheCurrentPeriod>
    <us-gaap:AmortizationOfDeferredSalesCommissions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzQtMy0xLTEtMjYyMjg_c4489aac-aa6a-4fe0-bef6-5c2a369112dc"
      unitRef="usd">63391000</us-gaap:AmortizationOfDeferredSalesCommissions>
    <us-gaap:AmortizationOfDeferredSalesCommissions
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzQtNS0xLTEtMjYyMjg_c2df3fac-b27b-4e60-95a8-20359cefce69"
      unitRef="usd">60516000</us-gaap:AmortizationOfDeferredSalesCommissions>
    <us-gaap:AmortizationOfDeferredSalesCommissions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzQtNy0xLTEtNDg2MDQ_cad343a9-a44e-4575-9136-f62a13a2eac6"
      unitRef="usd">53421000</us-gaap:AmortizationOfDeferredSalesCommissions>
    <us-gaap:SalesCommissionsAndFees
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzUtMy0xLTEtMjYyMjg_09ad6176-c8a6-4c3d-97c1-4553c517726e"
      unitRef="usd">108744000</us-gaap:SalesCommissionsAndFees>
    <us-gaap:SalesCommissionsAndFees
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzUtNS0xLTEtMjYyMjg_63646edd-dd01-4a7c-8307-5776a3bd1d8c"
      unitRef="usd">93344000</us-gaap:SalesCommissionsAndFees>
    <us-gaap:SalesCommissionsAndFees
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90YWJsZToyZTQ0N2EzOTE0NjY0OThlOTM5ODA1ZTU0NWViMmMzOS90YWJsZXJhbmdlOjJlNDQ3YTM5MTQ2NjQ5OGU5Mzk4MDVlNTQ1ZWIyYzM5XzUtNy0xLTEtNDg2MDQ_e884dc9d-2d32-476a-a7ad-9c6329431120"
      unitRef="usd">73776000</us-gaap:SalesCommissionsAndFees>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzE5MzM_b7c33504-fd0b-43de-859a-96a6b2c68e0c"
      unitRef="usd">315000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ibf359cb2f78a4bb8bcc1b768988c81d7_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjYvZnJhZzo0ZjQ0Njk4MDg3ODU0ODUwOWFhYjlhOGYwYzYzMmRkNS90ZXh0cmVnaW9uOjRmNDQ2OTgwODc4NTQ4NTA5YWFiOWE4ZjBjNjMyZGQ1XzE5OTY_81992dde-bef8-467f-bb85-39f1b24514c4">P5Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CreditLossFinancialInstrumentTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90ZXh0cmVnaW9uOmFjNmFmZTQyMjI2YTQ3ZmE4NWE2ZGM3MWNhZjEzMDIzXzM1OQ_306faa91-868d-4218-ac42-77cc96ec44ed">&lt;div style="padding-left:36pt;text-indent:-36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;4.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:28.5pt"&gt;ALLOWANCE FOR CREDIT LOSSES &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the activity related to the allowance for credit losses for trade receivables by portfolio segment (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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:22.472%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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.052%"/&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.052%"/&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.052%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.055%"/&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="33" 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;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;CoStar&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;Information services&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;Multifamily&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;LoopNet&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Other Marketplaces&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;Total&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;div&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 at December&#160;31, 2020&lt;/span&gt;&lt;/div&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;5,531&#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;2,739&#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,387&#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;1,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;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;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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;15,110&#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: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;Current-period provision (release) for expected credit losses&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), (2)&lt;/span&gt;&lt;/div&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;5,699&#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;(392)&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;3,057&#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;2,564&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;10,928&#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;Write-offs charged against the allowance, net of recoveries and 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;(5,850)&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;(527)&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;(4,051)&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;(2,263)&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&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;(12,664)&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;div&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 at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;5,380&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,820&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;3,393&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,968&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;813&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,374&#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="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;________________________&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense is included in general and administrative expenses on the consolidated statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense related to contract assets was not material for the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Amounts previously disclosed in the Commercial Property and Land portfolio segment have been further disaggregated into the LoopNet, Residential and Other Marketplaces portfolio segments. The majority of the Residential portfolio segment revenue is e-commerce based and does not result in accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:22.472%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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.052%"/&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.052%"/&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.052%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.055%"/&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="33" 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;Year Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;CoStar&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;Information services&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;Multifamily&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;LoopNet&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Other Marketplaces&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;Total&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 at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;1,264&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;624&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;1,195&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;576&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;889&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;4,548&#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: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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current-period provision for expected credit losses&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), (2)&lt;/span&gt;&lt;/div&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;11,622&#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;2,649&#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;7,644&#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;3,213&#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;84&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;25,212&#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;Write-offs charged against the allowance, net of recoveries and 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;(7,355)&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;(534)&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;(4,452)&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;(2,122)&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;(187)&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;(14,650)&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;Ending balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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-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;5,531&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;2,739&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;4,387&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;1,667&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;786&#160;&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;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 style="background-color:#ffffff;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-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;15,110&#160;&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="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;________________________&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense is included in general and administrative expenses on the consolidated statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense related to contract assets was not material for the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Amounts previously disclosed in the Commercial Property and Land portfolio segment have been further disaggregated into the LoopNet, Residential and Other Marketplaces portfolio segments. The majority of the Residential portfolio segment revenue is e-commerce based and does not result in accounts receivable.&lt;/span&gt;&lt;/div&gt;</us-gaap:CreditLossFinancialInstrumentTextBlock>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90ZXh0cmVnaW9uOmFjNmFmZTQyMjI2YTQ3ZmE4NWE2ZGM3MWNhZjEzMDIzXzM1OA_3fbb40e4-812d-4d71-af67-777b3061e224">&lt;div style="margin-bottom:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#252525;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the activity related to the allowance for credit losses for trade receivables by portfolio segment (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&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:22.472%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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.052%"/&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.052%"/&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.052%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.055%"/&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="33" 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;Year Ended December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;CoStar&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;Information services&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;Multifamily&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;LoopNet&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Other Marketplaces&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;Total&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;div&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 at December&#160;31, 2020&lt;/span&gt;&lt;/div&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;5,531&#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;2,739&#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,387&#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;1,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;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;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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;15,110&#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: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;Current-period provision (release) for expected credit losses&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), (2)&lt;/span&gt;&lt;/div&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;5,699&#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;(392)&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;3,057&#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;2,564&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;10,928&#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;Write-offs charged against the allowance, net of recoveries and 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;(5,850)&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;(527)&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;(4,051)&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;(2,263)&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&#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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;(12,664)&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;div&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 at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;5,380&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,820&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;3,393&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;1,968&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;813&#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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;13,374&#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="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;________________________&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense is included in general and administrative expenses on the consolidated statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense related to contract assets was not material for the year ended December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Amounts previously disclosed in the Commercial Property and Land portfolio segment have been further disaggregated into the LoopNet, Residential and Other Marketplaces portfolio segments. The majority of the Residential portfolio segment revenue is e-commerce based and does not result in accounts receivable.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:22.472%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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.052%"/&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.052%"/&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.052%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.385%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&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 colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.055%"/&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="33" 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;Year Ended December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;CoStar&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;Information services&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;Multifamily&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;LoopNet&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Other Marketplaces&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="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="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;Total&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 at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;1,264&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;624&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;1,195&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;576&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;889&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;4,548&#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: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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current-period provision for expected credit losses&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), (2)&lt;/span&gt;&lt;/div&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;11,622&#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;2,649&#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;7,644&#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;3,213&#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;84&#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="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;25,212&#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;Write-offs charged against the allowance, net of recoveries and 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;(7,355)&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;(534)&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;(4,452)&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;(2,122)&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;(187)&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&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;(14,650)&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;Ending balance at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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-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;5,531&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;2,739&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;4,387&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;1,667&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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-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;786&#160;&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;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 style="background-color:#ffffff;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-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;15,110&#160;&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="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;________________________&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense is included in general and administrative expenses on the consolidated statement of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Credit loss expense related to contract assets was not material for the year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(3) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Amounts previously disclosed in the Commercial Property and Land portfolio segment have been further disaggregated into the LoopNet, Residential and Other Marketplaces portfolio segments. The majority of the Residential portfolio segment revenue is e-commerce based and does not result in accounts receivable.&lt;/span&gt;&lt;/div&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ic83fa6bd25f84daeacb4f1365c9daf11_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzItMS0xLTEtMjYyMjg_e780b6a3-87e8-4e15-b6dc-cf0182cf8d75"
      unitRef="usd">5531000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ic01fb2e1b48445d0996d9d1ef4ce41a3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzItMy0xLTEtMjYyMjg_63da9b99-57be-430c-8c39-98e136e79f86"
      unitRef="usd">2739000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iabb20a85a868429588ad59ddb6c24b29_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzItNS0xLTEtMjYyMjg_70a578bd-8d8c-463b-acb0-446d84d685b0"
      unitRef="usd">4387000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ibc155f00a7be4bc0aa18949bcb4200a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzItNy0xLTEtMjk4NTc_62fd360c-cd10-4009-92a5-786aaa11141c"
      unitRef="usd">1667000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ice99786263a246aaaad944b3bdd2a2a8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzItNy0xLTEtMjYyMjg_53ccd050-1ed1-45e0-bd8e-f6cb08de778b"
      unitRef="usd">786000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzItMTEtMS0xLTI2MjI4_597b5718-b46d-42b8-963d-c5fcc77f362f"
      unitRef="usd">15110000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i76ba7b3d77604ba8a5062bcc8a745391_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzMtMS0xLTEtMjYyMjg_f9c4cd1a-8a49-4e74-a9f3-4eb6d1f8a59a"
      unitRef="usd">5699000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i6875bee41d0a43efb83e43749364aef2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzMtMy0xLTEtMjYyMjg_9d8e35b2-1e5e-4114-b6cb-5d4fc1859b8d"
      unitRef="usd">-392000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i3939f135d2844e92a220a4edcc8178c4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzMtNS0xLTEtMjYyMjg_dc6e8d9d-1579-42f8-8d79-1da2a2cb4de3"
      unitRef="usd">3057000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i7262b1c585a54485ab0a3c3c9062755e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzMtNy0xLTEtMjk4NjE_c8ebbc5c-ea13-4d01-9259-6f80ac616e33"
      unitRef="usd">2564000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="if452435d0c2e437b8fe3ef6abe5cc9a7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzMtNy0xLTEtMjYyMjg_51a38bb1-d1c1-4b5a-9c58-3ce9fa3cb0fd"
      unitRef="usd">0</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzMtMTEtMS0xLTI2MjI4_0df43bbe-35e9-42f7-8230-9e1b1ab0a451"
      unitRef="usd">10928000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i76ba7b3d77604ba8a5062bcc8a745391_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzQtMS0xLTEtMjYyMjg_7771ba40-e90b-42be-98f0-ca6218c863cb"
      unitRef="usd">5850000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i6875bee41d0a43efb83e43749364aef2_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzQtMy0xLTEtMjYyMjg_35376e9c-9352-492b-84db-71adfaea2505"
      unitRef="usd">527000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i3939f135d2844e92a220a4edcc8178c4_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzQtNS0xLTEtMjYyMjg_b5fe7840-65c3-4996-916a-623c10396214"
      unitRef="usd">4051000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i7262b1c585a54485ab0a3c3c9062755e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzQtNy0xLTEtMjk4NjU_5210d9a8-4a89-4d05-9ed9-aadc6ae79cc8"
      unitRef="usd">2263000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="if452435d0c2e437b8fe3ef6abe5cc9a7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzQtNy0xLTEtMjYyMjg_fa73beb4-0716-4f3e-8a1e-b26769579e51"
      unitRef="usd">-27000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzQtMTEtMS0xLTI2MjI4_513afb8d-3b46-4e23-804d-c7933c5e7997"
      unitRef="usd">12664000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i4b6f12c28c804b3fb2e6f0f53f4e0153_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzUtMS0xLTEtMjYyMjg_ebe728f8-46a7-4098-a88f-16436cffbaca"
      unitRef="usd">5380000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i1983d1b1888b49c88c456825449615f6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzUtMy0xLTEtMjYyMjg_690981ad-51e0-4dda-a715-a38428ab1bd2"
      unitRef="usd">1820000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i9096c75d0f8a45a6bef011e17fc1bc23_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzUtNS0xLTEtMjYyMjg_08026251-dfe6-4f6a-a3e8-7e369e5c7e7e"
      unitRef="usd">3393000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i4e43e671c7ef47e9b078b9f4d214b88d_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzUtNy0xLTEtMjk4Njg_ff11f6c0-a955-4cdc-9512-d595695b83bd"
      unitRef="usd">1968000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ia6a25319d40145caa4b443e5c46fd6ab_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzUtNy0xLTEtMjYyMjg_669e4b3e-6509-41ed-b87f-e906056de098"
      unitRef="usd">813000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo1YjVhZjZiZTBjODU0MmJiODUwZjJhNTUxMzBhMDBlNC90YWJsZXJhbmdlOjViNWFmNmJlMGM4NTQyYmI4NTBmMmE1NTEzMGEwMGU0XzUtMTEtMS0xLTI2MjI4_e4004bde-9485-4b83-b9aa-34d3c6ce42cc"
      unitRef="usd">13374000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="idd3af35a5adc4dafa56d7a845f03ce04_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzItMS0xLTEtMjk5NDM_87d0df3b-4213-4fa4-af33-b818b3493457"
      unitRef="usd">1264000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iad2ca633d50f447aa61cd3f65bc81f31_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzItMy0xLTEtMjk5NTU_bb076a77-6ad9-43c2-a72a-ffc8b2f6b2e0"
      unitRef="usd">624000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i8be713614dc74455a9680efcf93645d0_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzItNS0xLTEtMjk5Njk_1e4e1f29-09ff-4a8e-98b3-0051271794fb"
      unitRef="usd">1195000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i51a14c087c394e2e89c025cee3247281_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzItNy0xLTEtMjk5MDI_46286fb1-3d78-4988-82bb-6c19aa6bd0ca"
      unitRef="usd">576000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ic2d8b06424ee4fdb910ca2e6405d0619_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzItOS0xLTEtMjk5ODY_0af0db6d-a904-46c0-8fc4-eacef5c24a28"
      unitRef="usd">889000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzItMTMtMS0xLTI5OTk4_cc69f406-d942-4487-9e25-1b3cfaf36fc2"
      unitRef="usd">4548000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i30747ed9b3bd47dbba5abe9491a8adfa_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzMtMS0xLTEtMjk5NDc_dce1c110-5982-464e-a1a0-d946d9547802"
      unitRef="usd">11622000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i8bf70900b1194435abb69303fc39156c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzMtMy0xLTEtMzExMDA_403e760e-290a-4092-adfd-2c4042a9908a"
      unitRef="usd">2649000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i732322c6affb486da44f03b3b31d0cae_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzMtNS0xLTEtMjk5NzY_96bd8496-f92f-4099-910c-92b4b37d26a6"
      unitRef="usd">7644000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i90d8d4e3640a4337abab33d90285f5d4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzMtNy0xLTEtMjk5MTQ_3b849414-1189-4655-bff2-3037f4144583"
      unitRef="usd">3213000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i8853af3750bc48b09b4471e99cc78d3a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzMtOS0xLTEtMjk5ODg_82301c7f-cff2-4848-b161-7c9172a859aa"
      unitRef="usd">84000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzMtMTMtMS0xLTMwMDAw_b4a0f9bf-4820-4624-a692-a8e0d82c2700"
      unitRef="usd">25212000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i30747ed9b3bd47dbba5abe9491a8adfa_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzQtMS0xLTEtMjk5NTA_17e71978-31be-4794-ab16-ee0f17550ffb"
      unitRef="usd">7355000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i8bf70900b1194435abb69303fc39156c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzQtMy0xLTEtMzExMDA_45238703-519d-4627-9652-f9caf4749ab4"
      unitRef="usd">534000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i732322c6affb486da44f03b3b31d0cae_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzQtNS0xLTEtMjk5Nzg_abcdf778-207f-40c8-98f9-caf5c6fbf84b"
      unitRef="usd">4452000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i90d8d4e3640a4337abab33d90285f5d4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzQtNy0xLTEtMjk5MTc_a5197eff-598c-4d2d-8160-951970efd1be"
      unitRef="usd">2122000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i8853af3750bc48b09b4471e99cc78d3a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzQtOS0xLTEtMjk5OTA_95688aa2-07fd-4f8a-b696-e930a6043c2c"
      unitRef="usd">187000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzQtMTMtMS0xLTMwMDAy_556af170-5348-43db-ab69-f2539ddd25e3"
      unitRef="usd">14650000</us-gaap:FinancingReceivableAllowanceForCreditLossWriteoffAfterRecovery>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ic83fa6bd25f84daeacb4f1365c9daf11_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzUtMS0xLTEtMjk5NTM_8512d329-1b19-423d-b43f-9deb8b9f3ce9"
      unitRef="usd">5531000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ic01fb2e1b48445d0996d9d1ef4ce41a3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzUtMy0xLTEtMjk5Njc_74a57822-ab4e-4fec-9003-ea79b73c81ae"
      unitRef="usd">2739000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="iabb20a85a868429588ad59ddb6c24b29_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzUtNS0xLTEtMjk5ODA_055791f7-3fc1-4537-acdc-39b507820cf0"
      unitRef="usd">4387000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ibc155f00a7be4bc0aa18949bcb4200a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzUtNy0xLTEtMjk5MjM_043a4c5e-bc6f-40bf-97d0-b06a1b991a1c"
      unitRef="usd">1667000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="ice99786263a246aaaad944b3bdd2a2a8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzUtOS0xLTEtMjk5OTI_4b0f0886-660b-4f32-ac73-4b4fd882c632"
      unitRef="usd">786000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:FinancingReceivableAllowanceForCreditLosses
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNjkvZnJhZzphYzZhZmU0MjIyNmE0N2ZhODVhNmRjNzFjYWYxMzAyMy90YWJsZTo4ODYwOTA4OWM0M2E0ZjI5ODVhY2MxZTFlNjcwMTU3Ny90YWJsZXJhbmdlOjg4NjA5MDg5YzQzYTRmMjk4NWFjYzFlMWU2NzAxNTc3XzUtMTMtMS0xLTMwMDA0_21781f1d-5f87-4e50-b312-f359515f7543"
      unitRef="usd">15110000</us-gaap:FinancingReceivableAllowanceForCreditLosses>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEyNTUw_6abfa81a-ecfa-4aff-bf51-4901ff26e76f">ACQUISITIONS &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;BureauxLocaux&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;On October 1, 2021, CoStar UK Limited, a wholly owned subsidiary of the Company, M.A.J.E. Marketing &amp;amp; Strategie and an individual entered into a Share Sale and Purchase Agreement pursuant to which the Company acquired all of the share capital interests in Comreal Info, a French &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%"&gt;soci&#xe9;t&#xe9; par actions simplifi&#xe9;e&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;, the owner and operator of BureauxLocaux, a leading commercial real estate digital marketplace in France, for a base purchase price of &#x20ac;35 million ($41 million) in cash, subject to customary working capital and other post-closing adjustments which were settled in the fourth quarter of 2021. As part of the acquisition, the Company recorded goodwill and intangibles assets of $27 million and $18 million, respectively, in the Company's International operating segment. The net assets of BureauxLocaux were recorded at their estimated fair value. The purchase price allocation is preliminary, subject primarily to the Company's assessment of certain tax matters and contingencies.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Homes.com&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On April 14, 2021, Landmark Media Enterprises, LLC (&#x201c;Landmark&#x201d;), Homes Group, LLC and CoStar Realty Information, Inc., a Delaware corporation and wholly owned subsidiary of the Company entered into a securities purchase agreement, pursuant to which the Company agreed to acquire all of the outstanding equity interests in Homes.com from Landmark for a purchase price of $150&#160;million in cash, subject to customary working capital and other post-closing adjustments. The Company's acquisition of Homes.com closed on May 24, 2021. The securities purchase agreement required an initial payment of $148 million, net of estimated working capital adjustments, at the time of closing, with the remainder of the purchase price payable four months following the acquisition date, subject to offset for adjustments to the purchase price after final determination of closing net working capital. These amounts were settled in the third quarter of 2021 resulting in total consideration of $152 million. Homes.com is a residential real estate advertising and marketing services company primarily operating through its property listing and marketing portal, Homes.com.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amounts recorded for acquired assets and assumed liabilities recorded at their fair values as of the acquisition date (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:49.338%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.254%"/&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:10pt;font-weight:700;line-height:100%"&gt;Preliminary: &lt;br/&gt;May  24, 2021&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:10pt;font-weight:700;line-height:100%"&gt;Measurement Period Adjustments&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:10pt;font-weight:700;line-height:100%"&gt;Updated Preliminary: May 24, 2021&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;Cash, cash equivalents and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;border-top:1pt solid #000;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;&#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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;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:#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&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,798&#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;1,798&#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;Lease right-of-use assets&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;371&#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;371&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;88,132&#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;342&#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;88,474&#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;Intangible assets&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;53,400&#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;53,400&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets&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;11,171&#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;93&#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;11,264&#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;Lease liabilities&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;(371)&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;(371)&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;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;(1,086)&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;(435)&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;(1,521)&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 assets and liabilities&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,240)&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;(1,240)&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 19pt;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;Fair value of identifiable net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;152,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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:3pt double #000;border-top:1pt solid #000;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 #000;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:3pt double #000;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;152,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net assets of Homes.com were recorded at their estimated fair values. In valuing the acquired assets and assumed liabilities, fair value estimates were based primarily on future expected cash flows, market rate assumptions for contractual obligations and appropriate discount rates. The purchase price allocation is preliminary, subject primarily to the Company's assessment of certain tax matters and contingencies. The estimated fair value of the customer base assets incorporated significant assumptions that had a material impact on the estimated fair value, such as discount rates, projected revenue growth rates, customer attrition rates and profit margins.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair values of the identifiable intangible assets acquired in the Homes.com acquisition included in the Company's North America operating segment, their related estimated useful lives (in years) and their respective amortization methods (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:12pt;text-align:justify"&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:49.777%"/&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 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:14.543%"/&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:14.543%"/&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:14.547%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="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:700;line-height:100%"&gt;Estimated Fair Value&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:700;line-height:100%"&gt;Estimated Useful Life&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:700;line-height:100%"&gt;Amortization Method&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;Customer base&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="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;32,000&#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:bottom"/&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: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;8&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;Accelerated&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:10pt;font-weight:400;line-height:100%"&gt;Trade name&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="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;21,000&#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="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;15&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;Straight-line&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;Technology&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="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;400&#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: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&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;Straight-line&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;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;Total intangible assets&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;53,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is calculated as the excess of the consideration transferred over the net assets recognized and represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. Specifically, the goodwill recorded as part of the Homes.com acquisition includes but is not limited to: (i) the expected synergies and other benefits that the Company believes will result from combining its operations with Homes.com operations; and (ii) any intangible assets that do not qualify for separate recognition, such as the assembled workforce. The $88 million of goodwill recorded as part of the acquisition is associated with the Company's North America operating segment, of which $20&#160;million is expected to be deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;As of December&#160;31, 2021, transaction costs associated with the Homes.com acquisition were not material. In addition, the Company paid $5 million into a cash escrow account for stay bonuses for certain Homes.com employees and recognized compensation expense for the stay bonus over the six month post-combination period. Upon acquisition, the Company assessed the probability Homes.com would be required to pay certain state tax liabilities and recorded an accrual of $7&#160;million determined in accordance with the provisions of &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:112%"&gt;ASC &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;450, &#x201c;Contingencies,&#x201d; as the fair value was not determinable. Landmark has agreed to indemnify the Company for tax liabilities related to periods prior to the acquisition and an indemnification asset was established for $7&#160;million in the purchase price allocation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Homesnap&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On December 22, 2020, pursuant to the Agreement and Plan of Merger, dated November 20, 2020, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;by and among CoStar Realty Information, Inc., a Delaware corporation and wholly owned subsidiary of the Company (&#x201c;CRI&#x201d;), Snapped Halo Merger Sub Corp., a Delaware corporation and wholly-owned subsidiary of CRI (&#x201c;Merger Sub&#x201d;), and Homesnap, Inc., a Delaware corporation, Merger Sub was merged with and into Homesnap (the &#x201c;Homesnap Merger&#x201d;), with Homesnap surviving the merger as a wholly-owned subsidiary of CRI. In connection with the Homesnap Merger, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;the Company acquired all of the issued and outstanding equity interests in Homesnap for a purchase price of $250&#160;million in cash. Homesnap is an industry-leading online and mobile software platform that provides user-friendly applications to optimize residential real estate agent workflow and reinforce the agent-client relationship. Homesnap has relationships, data, software and tools for residential real estate professionals that are complementary to CoStar Group&#x2019;s existing offerings. The acquisition of Homesnap enabled CoStar Group to enter the residential real estate market and expand the markets in which the Company competes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amounts recorded for acquired assets and assumed liabilities recorded at their fair values as of the acquisition date (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:82.379%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.421%"/&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:10pt;font-weight:700;line-height:100%"&gt;Final: &lt;br/&gt;December 22, 2020&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;Cash, cash equivalents and restricted cash&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;10,225&#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: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&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;662&#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;Lease right-of-use assets&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;3,437&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;184,371&#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;Intangible assets&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;67,000&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net&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;(2,778)&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;Lease liabilities&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;(3,375)&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;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;(4,000)&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 assets and liabilities&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;(5,188)&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 19pt;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;Fair value of identifiable net assets acquired&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;250,354&#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;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net assets of Homesnap were recorded at their estimated fair values. In valuing the acquired assets and assumed liabilities, fair value estimates were based primarily on future expected cash flows, market rate assumptions for contractual obligations and appropriate discount rates. The estimated fair value of the customer base assets incorporated significant assumptions that had a material impact on the estimated fair value, such as discount rates, projected revenue growth rates, customer attrition rates and profit margins.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair values (in thousands) of the identifiable intangible assets included in the Company's North America operating segment, their related estimated useful lives (in years) and their respective amortization methods:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:72.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.037%"/&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 style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.246%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="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:700;line-height:100%"&gt;Estimated Fair Value&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:700;line-height:100%"&gt;Estimated Useful Life&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:700;line-height:100%"&gt;Amortization Method&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;Customer base&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="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;45,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="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;10&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;Accelerated&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:10pt;font-weight:400;line-height:100%"&gt;Trade name&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="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;7,000&#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="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;10&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;Straight-line&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;Technology&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="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;15,000&#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: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;6&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;Straight-line&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;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;Total intangible assets&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;67,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is calculated as the excess of the consideration transferred over the net assets recognized and represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. Specifically, the goodwill recorded as part of the Homesnap acquisition includes but is not limited to: (i) the expected synergies and other benefits that the Company believes will result from combining its operations with Homesnap's operations; and (ii) any intangible assets that do not qualify for separate recognition, such as the assembled workforce. The $184 million of goodwill recorded as part of the acquisition is associated with the Company's North America operating segment. Goodwill recognized is not deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Transaction costs associated with the Homesnap acquisition were not material. &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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Ten-X&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 24, 2020, pursuant to the Agreement and Plan of Merger, dated May 13, 2020, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;by and among CoStar Realty Information, Inc., a Delaware corporation and wholly owned subsidiary of the Company (&#x201c;CRI&#x201d;), Crescendo Sub, Inc., a Delaware corporation and wholly-owned subsidiary of CRI (&#x201c;Merger Sub&#x201d;), Ten-X Holding Company, Inc., a Delaware corporation ("Ten-X Holding"), and Thomas H. Lee Equity Fund VII L.P., a Delaware limited partnership, solely in its capacity as representative thereunder, Merger Sub was merged with and into Ten-X Holding (the &#x201c;Merger&#x201d;), with Ten-X Holding surviving the Merger as a wholly-owned subsidiary of CRI. In connection with the Merger, &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;the Company acquired all of the issued and outstanding equity interests in Ten-X Holding and Ten-X Holding's subsidiaries for a purchase price of $188&#160;million in cash. Ten-X operates an online auction platform for commercial real estate. The Ten-X acquisition is expected to enable the &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Company to create an end-to-end commercial real estate platform, combining LoopNet and the Company's online audience of buyers with Ten-X&#x2019;s leadership in online auctions for performing and distressed assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amounts recorded for acquired assets and assumed liabilities recorded at their fair values as of the acquisition date (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.343%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.457%"/&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:10pt;font-weight:700;line-height:100%"&gt;Final:&lt;br/&gt;June 24, 2020&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;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;3,290&#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: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&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;131&#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;Lease right-of-use assets&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,945&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;134,322&#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;Intangible assets&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;58,000&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&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;(4,945)&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;Deferred tax liabilities, net&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,981)&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;Other assets and liabilities&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;(5,047)&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;Fair value of identifiable net assets acquired&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;187,715&#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-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net assets of Ten-X were recorded at their estimated fair values. In valuing the acquired assets and assumed liabilities, fair value estimates were based primarily on future expected cash flows, market rate assumptions for contractual obligations and appropriate discount rates. The estimated fair value of the customer base assets incorporated significant assumptions that had a material impact on the estimated fair value, such as discount rates, projected revenue growth rates, customer attrition rates and profit margins.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair values (in thousands) of the identifiable intangible assets included in the Company's North America operating segment, their related estimated useful lives (in years) and their respective amortization methods:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:72.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.037%"/&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 style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.246%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="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:700;line-height:100%"&gt;Estimated Fair Value&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:700;line-height:100%"&gt;Estimated Useful Life&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:700;line-height:100%"&gt;Amortization Method&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;Customer base&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="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;46,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="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;6&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;Accelerated&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:10pt;font-weight:400;line-height:100%"&gt;Technology&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="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;11,000&#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="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;5&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;Straight-line&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;Other intangible assets&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="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,000&#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: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&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;Straight-line&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;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;Total intangible assets&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;58,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is calculated as the excess of the consideration transferred over the net assets recognized and represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. Specifically, the goodwill recorded as part of the Ten-X acquisition includes but is not limited to: (i) the expected synergies and other benefits that the Company believes will result from combining its operations with Ten-X's operations; and (ii) any intangible assets that do not qualify for separate recognition, such as the assembled workforce. The $134 million of goodwill recorded as part of the acquisition is associated with the Company's North America operating segment. Goodwill recognized is not deductible for income tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction costs associated with the Ten-X acquisition were not material. The Company paid $3&#160;million in incentive compensation to Ten-X employees negotiated as part of the acquisition, and this expense was recognized in the post-combination period.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Pro Forma Financial Information (unaudited)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma financial information presented below summarizes the combined results of operations for the Company, Ten-X and Homesnap as though the companies were combined as of January 1, 2019, and the Company and Homes.com as though the companies were combined as of January 1, 2020. The impact of the October 2021 BureauxLocaux acquisition on the pro forma financial information was not material and therefore was not included. The unaudited pro forma financial information for all periods presented includes amortization charges from acquired intangible assets, retention compensation, as referenced above, and the related tax effects, along with certain other accounting effects, but excludes the impacts of any expected operational synergies. The unaudited pro forma financial information, as presented below, is for informational purposes only and is not necessarily indicative of the results of operations that would have been achieved if the acquisitions had taken place on January 1, 2019 for Ten-X and Homesnap and January 1, 2020 for Homes.com.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:8pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma financial information for the years ended December&#160;31, 2021, 2020 and 2019 combines the historical results of the Company, Ten-X, Homesnap and Homes.com for the periods prior to the respective acquisition dates, and the effects of the pro forma adjustments listed above.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:8pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma financial information, in aggregate, was as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;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:64.442%"/&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 style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&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:9.897%"/&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:9.898%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="15" 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;Year Ended&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&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;Revenue&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 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,962,102&#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;1,758,612&#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;1,483,218&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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 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;286,718&#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;197,994&#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;271,789&#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;Net income per share - basic&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 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;0.74&#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;0.52&#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;0.75&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share - diluted&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 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;0.73&#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;0.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 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;0.74&#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;/table&gt;&lt;/div&gt;The impact of the Homes.com acquisition on the Company's  revenues and net income in the consolidated statements of operations from May&#160;24, 2021 through&#160;December&#160;31, 2021 was an increase of $14&#160;million and a decrease of $23&#160;million, respectively. The impact of the Ten-X acquisition on the Company's revenues and net income in the consolidated statements of operations from June&#160;24, 2020 through&#160;December&#160;31, 2020 was an increase of $32&#160;million and a decrease of $10&#160;million, respectively. The impact of the Homesnap acquisition on the Company's revenues and net income in the consolidated statements of operations from December&#160;22, 2020 through&#160;December&#160;31, 2020&#160;was not material.</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i2e6b034d521a413e89cb8ae37dbad32b_D20211001-20211001"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjg0MDk5_f7368111-7ca4-4ff8-9358-280d32e61042"
      unitRef="eur">35000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i2e6b034d521a413e89cb8ae37dbad32b_D20211001-20211001"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjg0MTA0_cb3244c1-f39b-4c12-8fbd-83264eeffaac"
      unitRef="usd">41000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ifae003e3aa1c4dda8c4e2f2a7079fcd2_D20211001-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjc5ODMw_dcfdac61-0beb-4ea8-bb68-6e8237862107"
      unitRef="usd">27000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i55f3b019e3384954a9dcd3eb4af79673_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjc5ODM2_0b7dad51-3048-4ddf-8f4b-28b69eb5694b"
      unitRef="usd">18000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <csgp:BusinessCombinationAcquisitionPriceBeforeWorkingCapitalAndOtherAdjustments
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzQzOTgwNDY1Nzg3NTM_e3d8ea59-5fbc-4ca3-b10d-2465c0c479a2"
      unitRef="usd">150000000</csgp:BusinessCombinationAcquisitionPriceBeforeWorkingCapitalAndOtherAdjustments>
    <csgp:BusinessCombinationConsiderationTransferredNetOfAdjustments
      contextRef="i23e5d571106f4baf9d5d8c001d104bd3_D20210414-20210414"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEwOTk1MTE2NDA5NTE_2bcf5047-0c30-4097-aa79-d794cef5b91e"
      unitRef="usd">148000000</csgp:BusinessCombinationConsiderationTransferredNetOfAdjustments>
    <csgp:BusinessCombinationsPurchasePriceTerm
      contextRef="i23e5d571106f4baf9d5d8c001d104bd3_D20210414-20210414"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzIxOTkwMjMzMjM2Mjk_2420713c-2ed5-4a80-bf36-d69dbbfd0e53">P4M</csgp:BusinessCombinationsPurchasePriceTerm>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEwOTk1MTE2OTU2NjQ_db4ec5b5-16c9-4434-9b95-8b486dd323b5"
      unitRef="usd">152000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzQzOTgwNDY1NDE1MDY_c04e18c0-c1ba-44a6-8443-915ee9e37133">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amounts recorded for acquired assets and assumed liabilities recorded at their fair values as of the acquisition date (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:49.338%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.254%"/&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:10pt;font-weight:700;line-height:100%"&gt;Preliminary: &lt;br/&gt;May  24, 2021&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:10pt;font-weight:700;line-height:100%"&gt;Measurement Period Adjustments&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:10pt;font-weight:700;line-height:100%"&gt;Updated Preliminary: May 24, 2021&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;Cash, cash equivalents and restricted cash&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;border-top:1pt solid #000;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;&#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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;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:#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&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,798&#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;1,798&#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;Lease right-of-use assets&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;371&#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;371&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;88,132&#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;342&#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;88,474&#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;Intangible assets&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;53,400&#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;53,400&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets&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;11,171&#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;93&#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;11,264&#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;Lease liabilities&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;(371)&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;(371)&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;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;(1,086)&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;(435)&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;(1,521)&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 assets and liabilities&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,240)&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;(1,240)&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 19pt;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;Fair value of identifiable net assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;152,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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:3pt double #000;border-top:1pt solid #000;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 #000;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:3pt double #000;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;152,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amounts recorded for acquired assets and assumed liabilities recorded at their fair values as of the acquisition date (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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:82.379%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.421%"/&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:10pt;font-weight:700;line-height:100%"&gt;Final: &lt;br/&gt;December 22, 2020&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;Cash, cash equivalents and restricted cash&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;10,225&#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: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&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;662&#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;Lease right-of-use assets&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;3,437&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;184,371&#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;Intangible assets&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;67,000&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets, net&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;(2,778)&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;Lease liabilities&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;(3,375)&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;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;(4,000)&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 assets and liabilities&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;(5,188)&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 19pt;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;Fair value of identifiable net assets acquired&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;250,354&#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;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the amounts recorded for acquired assets and assumed liabilities recorded at their fair values as of the acquisition date (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.198%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.343%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.457%"/&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:10pt;font-weight:700;line-height:100%"&gt;Final:&lt;br/&gt;June 24, 2020&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;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;3,290&#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: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&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;131&#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;Lease right-of-use assets&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,945&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;134,322&#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;Intangible assets&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;58,000&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&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;(4,945)&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;Deferred tax liabilities, net&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,981)&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;Other assets and liabilities&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;(5,047)&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;Fair value of identifiable net assets acquired&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;187,715&#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:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzEtMS0xLTEtMzAwMzg_98500637-1831-47d4-8e7d-70035e9b4f7d"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzEtNS0xLTEtMzAwMzg_84f205da-8603-4eb6-b866-7978ad6bccb7"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzItMS0xLTEtMzAwMzg_29df53c3-9428-4433-a553-d16e15ea8dd6"
      unitRef="usd">1798000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzItNS0xLTEtMzAwMzg_252fd33a-b423-49b2-865d-e076169ab9af"
      unitRef="usd">1798000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzMtMS0xLTEtMzAwMzg_b019b55c-e37a-4575-9264-32a2098c1f2d"
      unitRef="usd">371000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzMtNS0xLTEtMzAwMzg_4025c521-dca0-4a7c-bebb-161563cf1316"
      unitRef="usd">371000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzQtMS0xLTEtMzAwMzg_9d0a3dad-4d00-471c-b8ef-d1a5411cc941"
      unitRef="usd">88132000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5516c6c43dee4e478d5edd6b02575ce9_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzQtMy0xLTEtMzAwMzg_750c8b70-639a-4b13-9514-8a010d1817c4"
      unitRef="usd">342000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzQtNS0xLTEtMzAwMzg_d1e9635d-514d-4c6a-8d47-f02d136fc08d"
      unitRef="usd">88474000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzUtMS0xLTEtMzAwMzg_51b834e1-046c-4493-bd29-bebc81253695"
      unitRef="usd">53400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzUtNS0xLTEtMzAwMzg_a5d11504-02b4-452c-888f-954f422416ee"
      unitRef="usd">53400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzYtMS0xLTEtMzAwMzg_e0894043-a414-4cc5-ab56-a6c06e1dc774"
      unitRef="usd">11171000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i5516c6c43dee4e478d5edd6b02575ce9_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzYtMy0xLTEtMzAwMzg_5988eac2-5266-4ca2-a714-8b2305976112"
      unitRef="usd">93000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzYtNS0xLTEtMzAwMzg_1c510759-d1e9-4c62-9e01-13454aaf4f57"
      unitRef="usd">11264000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzctMS0xLTEtMzAwMzg_f569e612-ee64-44fe-8bdb-724a6c950f66"
      unitRef="usd">371000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzctNS0xLTEtMzAwMzg_fad465a4-42ee-46f0-9571-889be36f5922"
      unitRef="usd">371000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzgtMS0xLTEtMzAwMzg_ad55f6b2-3e1c-42cc-bc7f-62614d9addd3"
      unitRef="usd">1086000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="i5516c6c43dee4e478d5edd6b02575ce9_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzgtMy0xLTEtMzAwMzg_cbea19d3-a358-42aa-8fa4-68a522cadebc"
      unitRef="usd">-435000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzgtNS0xLTEtMzAwMzg_d04478b6-8951-416c-a9e9-cd09c4290fe8"
      unitRef="usd">1521000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzktMS0xLTEtMzAwMzg_d707c66d-3c07-41ac-9f40-2fda0b16b331"
      unitRef="usd">1240000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzktNS0xLTEtMzAwMzg_5003f586-c896-458f-b7c6-11c3e5eed5ef"
      unitRef="usd">1240000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i7e14124f06e946b7891abba537c695af_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzEwLTEtMS0xLTMwMDM4_6a221598-5ee8-431c-b7ab-581d01f82f83"
      unitRef="usd">152175000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i5516c6c43dee4e478d5edd6b02575ce9_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzEwLTMtMS0xLTMwMDM4_6d4b73c2-b5f9-420e-bc01-cb41c5119316"
      unitRef="usd">0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo2MmRmYjNhZjVjZTc0ODg1YTVkNDA5MjJkMWU1MzYxOC90YWJsZXJhbmdlOjYyZGZiM2FmNWNlNzQ4ODVhNWQ0MDkyMmQxZTUzNjE4XzEwLTUtMS0xLTMwMDM4_fb1801a0-0cd3-4e22-b991-807bad228cdf"
      unitRef="usd">152175000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzQzOTgwNDY1NDE1MDc_23397382-fed7-4c04-9da2-6784701d579a">The following table summarizes the fair values of the identifiable intangible assets acquired in the Homes.com acquisition included in the Company's North America operating segment, their related estimated useful lives (in years) and their respective amortization methods (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:49.777%"/&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 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:14.543%"/&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:14.543%"/&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:14.547%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="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:700;line-height:100%"&gt;Estimated Fair Value&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:700;line-height:100%"&gt;Estimated Useful Life&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:700;line-height:100%"&gt;Amortization Method&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;Customer base&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="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;32,000&#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:bottom"/&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: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;8&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;Accelerated&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:10pt;font-weight:400;line-height:100%"&gt;Trade name&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="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;21,000&#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="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;15&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;Straight-line&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;Technology&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="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;400&#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: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&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;Straight-line&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;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;Total intangible assets&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;53,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;/tr&gt;&lt;/table&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair values (in thousands) of the identifiable intangible assets included in the Company's North America operating segment, their related estimated useful lives (in years) and their respective amortization methods:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:72.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.037%"/&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 style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.246%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="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:700;line-height:100%"&gt;Estimated Fair Value&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:700;line-height:100%"&gt;Estimated Useful Life&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:700;line-height:100%"&gt;Amortization Method&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;Customer base&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="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;45,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="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;10&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;Accelerated&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:10pt;font-weight:400;line-height:100%"&gt;Trade name&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="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;7,000&#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="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;10&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;Straight-line&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;Technology&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="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;15,000&#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: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;6&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;Straight-line&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;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;Total intangible assets&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;67,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the fair values (in thousands) of the identifiable intangible assets included in the Company's North America operating segment, their related estimated useful lives (in years) and their respective amortization methods:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:72.514%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.037%"/&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 style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.246%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.808%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.450%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&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="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:700;line-height:100%"&gt;Estimated Fair Value&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:700;line-height:100%"&gt;Estimated Useful Life&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:700;line-height:100%"&gt;Amortization Method&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;Customer base&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="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;46,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="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;6&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;Accelerated&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:10pt;font-weight:400;line-height:100%"&gt;Technology&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="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;11,000&#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="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;5&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;Straight-line&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;Other intangible assets&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="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,000&#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: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&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;Straight-line&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;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;Total intangible assets&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;58,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ic96f26ec5891491680cee4b095800fcf_D20210524-20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzEtNS0xLTEtMzAwMzg_0605606f-5354-41e1-8961-c7e04c108a6e"
      unitRef="usd">32000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ic96f26ec5891491680cee4b095800fcf_D20210524-20210524"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzEtNy0xLTEtMzAwMzg_167670e5-08a6-4fda-9d53-2e26f0ca0539">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="iebb36616087446969754eeedaf697325_D20210524-20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzItNS0xLTEtMzAwMzg_ff281e2c-c60c-486e-8df2-355173785907"
      unitRef="usd">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iebb36616087446969754eeedaf697325_D20210524-20210524"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzItNy0xLTEtMzAwMzg_d690373d-f281-4efb-b0fd-dfc2141eef3f">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="if2b3ed0341ec4a7a99e34e6e365ed445_D20210524-20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzMtNS0xLTEtMzAwMzg_94dda119-0497-4069-a297-eb6f9162a46e"
      unitRef="usd">400000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="if2b3ed0341ec4a7a99e34e6e365ed445_D20210524-20210524"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzMtNy0xLTEtMzAwMzg_31747bcb-fbe7-4dea-81f4-b96976e3b6d4">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i6900fa5184d54b109a8cb5c24807f94a_D20210524-20210524"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo5MTU2MzVmYjk1YTE0MWIxOTJlNjBmOTkyNGNjYzlmNy90YWJsZXJhbmdlOjkxNTYzNWZiOTVhMTQxYjE5MmU2MGY5OTI0Y2NjOWY3XzQtNS0xLTEtMzAwMzg_3f74cfe9-5f37-484c-ba8b-e54a5ceb3f91"
      unitRef="usd">53400000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i3e01e5e28d614b9a96a529e8d5afb125_D20210524-20210524"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEwOTk1MTE2OTU0NDI_7f6a784c-bf63-411c-b616-d2d4c6315b4c"
      unitRef="usd">88000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount
      contextRef="i8affbf6019df4607b1dd6765499b24da_I20210524"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzI3NDg3NzkxMzEyMjM_f70a68b3-bdde-49c5-8a62-4275fd295db9"
      unitRef="usd">20000000</us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="i8dfeba6940224c83a6f2ff916664c8c4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEwOTk1MTE2NDM0OTE_41eecaae-1da0-4e74-94cf-20c6ec4b2b27"
      unitRef="usd">5000000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <csgp:BusinessCombinationAccrualAmount
      contextRef="i85f4434aa401408a86127864ace8d09f_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEwOTk1MTE2NDQyMzc_e2ec3bc0-4e64-4eee-8076-4fcc3d117fd3"
      unitRef="usd">7000000</csgp:BusinessCombinationAccrualAmount>
    <us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh
      contextRef="i8dfeba6940224c83a6f2ff916664c8c4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEwOTk1MTE2NDQ1MTM_053df7d5-d93b-4600-b416-d3bcddc179e7"
      unitRef="usd">7000000</us-gaap:BusinessCombinationIndemnificationAssetsRangeOfOutcomesValueHigh>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i95517f08c115490f9b3fafc491eca3b6_D20201222-20201222"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzY4OQ_2860d757-9779-4b23-8699-0dd1d3e6b8b3"
      unitRef="usd">250000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzEtMS0xLTEtMjYyMjg_23523bfe-62ba-406a-83f7-2f1c7746464e"
      unitRef="usd">10225000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzItMS0xLTEtMjYyMjg_7983c991-256e-4da0-bf76-b9bb446e170b"
      unitRef="usd">662000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzMtMS0xLTEtMjYyMjg_3dd915e3-b2ca-4553-ac9b-b0164a82dc4e"
      unitRef="usd">3437000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzQtMS0xLTEtMjYyMjg_19324462-ae0d-419d-8dc3-0642a24a5b90"
      unitRef="usd">184371000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzUtMS0xLTEtMjYyMjg_e66c5a70-c405-42c6-ad17-905bc55b767a"
      unitRef="usd">67000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzYtMS0xLTEtMjYyMjg_d3ba1472-b0da-49b5-a9e6-f144039ddbf6"
      unitRef="usd">2778000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzctMS0xLTEtMjYyMjg_8554fb31-aff4-4767-a2c9-ca354f1179e3"
      unitRef="usd">3375000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzgtMS0xLTEtMjYyMjg_f326fa5b-a14a-43c5-bdb8-fed5f9b9717c"
      unitRef="usd">4000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzktMS0xLTEtMjYyMjg_e9de575c-7353-433f-b065-4d601a54b68a"
      unitRef="usd">5188000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i1b7aed27bb4f4cfd8d42e47391ef2a17_I20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZToxNTNiZmFlNjFjOWE0MjVjODcyZWQzYTc5MDlhZDRiZS90YWJsZXJhbmdlOjE1M2JmYWU2MWM5YTQyNWM4NzJlZDNhNzkwOWFkNGJlXzEwLTEtMS0xLTI2MjI4_79723047-658f-46af-865d-a6fcf92a7363"
      unitRef="usd">250354000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i27ad09fe9b0a41eb8d9e4bd1a69ade69_D20201222-20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzEtNS0xLTEtMjYyMjg_43892f95-2493-40b2-9486-0da969c08060"
      unitRef="usd">45000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i27ad09fe9b0a41eb8d9e4bd1a69ade69_D20201222-20201222"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzEtNy0xLTEtMjYyMjg_a60112ca-8f51-4d26-afdd-d6ca5664fcb1">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="iea40fc08034d47fbaea041c6d40d823a_D20201222-20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzItNS0xLTEtMjYyMjg_ad2c0e41-624e-42f3-ad6d-d8a60f194be4"
      unitRef="usd">7000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iea40fc08034d47fbaea041c6d40d823a_D20201222-20201222"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzItNy0xLTEtMjYyMjg_59ab2185-2e4b-4725-9f9f-c6a2efa65ef0">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="ic575955de4a848e7b025c048dad73fca_D20201222-20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzMtNS0xLTEtMjYyMjg_4ea376fd-9640-48bc-88e1-3e79c2d201ea"
      unitRef="usd">15000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ic575955de4a848e7b025c048dad73fca_D20201222-20201222"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzMtNy0xLTEtMjYyMjg_e40b1bf7-075f-437d-8477-0649c74b6d83">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i95517f08c115490f9b3fafc491eca3b6_D20201222-20201222"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmYzRlNGM4OGNiY2Y0Mzg0YjY1YmYzMTYyNDljNWIzOC90YWJsZXJhbmdlOmZjNGU0Yzg4Y2JjZjQzODRiNjViZjMxNjI0OWM1YjM4XzQtNS0xLTEtMjYyMjg_ed554255-bf86-4154-bf2d-e79220de4c3a"
      unitRef="usd">67000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i95517f08c115490f9b3fafc491eca3b6_D20201222-20201222"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE2NDkyNjc1MDM1MDE_843a1d50-9068-454e-9423-687510dd3772"
      unitRef="usd">184000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i28ce6270f0c54bed8da9ec67038122e4_D20200624-20200624"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzQxNTg_60378720-b21f-4c08-852e-61247da9ee44"
      unitRef="usd">188000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzEtNi0xLTEtMjYyMjg_f3ed4c94-f9d8-49d4-aad8-0898ee54e8b9"
      unitRef="usd">3290000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzItNi0xLTEtMjYyMjg_7c01f525-c998-49c1-a5ec-0c408a1111ad"
      unitRef="usd">131000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzMtNi0xLTEtMjYyMjg_61c9bcb6-820e-41d2-9bb5-9dcce1f25cb6"
      unitRef="usd">4945000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinanceLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzQtNi0xLTEtMjYyMjg_630c6c13-e6e5-4e6b-b1a2-4523077bc615"
      unitRef="usd">134322000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzUtNi0xLTEtMjYyMjg_bbc3c16a-cda9-4a81-bd0b-5782bd6eeb9c"
      unitRef="usd">58000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzYtNi0xLTEtMjYyMjg_85ae9968-9d36-4f25-a27c-a8a387e5bf15"
      unitRef="usd">4945000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzctNi0xLTEtMjYyMjg_11571100-831e-4828-a794-251ffddcb08c"
      unitRef="usd">2981000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzgtNi0xLTEtMjYyMjg_728c2a9c-fdb6-4660-85db-5a939b16eeeb"
      unitRef="usd">5047000</csgp:BusinessCombinationRecognizedIdentifiableAssetsAcquiredandLiabilitiesAssumedOtherAssetsAndLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="i304185076b034e5e9cee2b80e90e2441_I20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTowN2Q2NTdiOTMyNjc0NmYyYWM4YTM2NzhlNDUyZjRmYy90YWJsZXJhbmdlOjA3ZDY1N2I5MzI2NzQ2ZjJhYzhhMzY3OGU0NTJmNGZjXzktNi0xLTEtMjYyMjg_6abcbe68-327a-4e96-8450-2f06a92dcac4"
      unitRef="usd">187715000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i50f9d3f3a56c4c10974085fb6670ca49_D20200624-20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzEtNS0xLTEtMjYyMjg_96fb5a90-78ca-4512-b2f1-3cd3fffb8416"
      unitRef="usd">46000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i50f9d3f3a56c4c10974085fb6670ca49_D20200624-20200624"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzEtNy0xLTEtMjYyMjg_3ef413d2-966b-403e-a26f-a954720b47f2">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i8a24375adb834defb68df87035e2b74c_D20200624-20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzItNS0xLTEtMjYyMjg_0d8da71c-c6c2-4a2a-9760-d8df832550ba"
      unitRef="usd">11000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i8a24375adb834defb68df87035e2b74c_D20200624-20200624"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzItNy0xLTEtMjYyMjg_f3e6e01b-e3c1-408f-9d93-bf2b5e1aeca6">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i43e5d3a7daa54d93bcedd66ceb2cbad1_D20200624-20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzMtNS0xLTEtMjYyMjg_a66894df-74ca-49f1-a6f7-a32c237fad59"
      unitRef="usd">1000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i43e5d3a7daa54d93bcedd66ceb2cbad1_D20200624-20200624"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzMtNy0xLTEtMjYyMjg_958580ed-c347-4874-a0f6-c217ba466f02">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i28ce6270f0c54bed8da9ec67038122e4_D20200624-20200624"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTpmOTM5Y2NiOTNiNDA0YTBmYmI3Yjg3YjU0M2FhZjJjYi90YWJsZXJhbmdlOmY5MzljY2I5M2I0MDRhMGZiYjdiODdiNTQzYWFmMmNiXzQtNS0xLTEtMjYyMjg_2101bb3e-9c82-4065-9539-207957515bc6"
      unitRef="usd">58000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i28ce6270f0c54bed8da9ec67038122e4_D20200624-20200624"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE2NDkyNjc1MDM0OTQ_d492ea96-9d3e-477f-93a7-31a7b2c6e283"
      unitRef="usd">134000000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="ice27b2c943bf4fb790d82fc42a87dd39_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjgzMzMz_5c50122d-5086-4ef0-a2b6-7b74911d0ff7"
      unitRef="usd">3000000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzEyNTQ2_874dd238-dab0-4feb-86ba-a0dd0cb93dd5">&lt;div style="margin-bottom:8pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The unaudited pro forma financial information, in aggregate, was as follows (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;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:64.442%"/&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 style="width:1.0%"/&gt;&lt;td style="width:9.897%"/&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:9.897%"/&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:9.898%"/&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="15" 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;Year Ended&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&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;Revenue&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 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,962,102&#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;1,758,612&#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;1,483,218&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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 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;286,718&#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;197,994&#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;271,789&#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;Net income per share - basic&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 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;0.74&#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;0.52&#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;0.75&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share - diluted&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 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;0.73&#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;0.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 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;0.74&#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;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzItNS0xLTEtMjYyMjg_103a43ea-19e0-4a88-a05d-0ac97e67bbf9"
      unitRef="usd">1962102000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzItNy0xLTEtMjYyMjg_80a19cf0-6c84-4a8b-8bff-c9becd95c343"
      unitRef="usd">1758612000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzItOS0xLTEtMjYyMjg_b5b746a2-a64a-490f-8a42-6267bf48068a"
      unitRef="usd">1483218000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzMtNS0xLTEtMjYyMjg_20a4919c-1a89-4db3-b5b5-4fcadd83c52f"
      unitRef="usd">286718000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzMtNy0xLTEtMjYyMjg_8333045b-4a53-49c1-8f8a-badce710513b"
      unitRef="usd">197994000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzMtOS0xLTEtMjYyMjg_45682781-b00b-4b78-b11c-6a9bde9d02de"
      unitRef="usd">271789000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzQtNS0xLTEtMjYyMjg_500c3706-e349-4e75-8057-c2151ea8e6e4"
      unitRef="usdPerShare">0.74</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzQtNy0xLTEtMjYyMjg_08b3e886-a623-4973-9a50-24c93b78756a"
      unitRef="usdPerShare">0.52</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzQtOS0xLTEtMjYyMjg_f884a051-fb6a-4134-a2e7-68858099b3e8"
      unitRef="usdPerShare">0.75</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzUtNS0xLTEtMjYyMjg_1120491b-efeb-4d5e-af4c-58da8800fb86"
      unitRef="usdPerShare">0.73</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzUtNy0xLTEtMjYyMjg_ba037c73-cbb7-4ce9-95fe-1e19e8a0d04f"
      unitRef="usdPerShare">0.51</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90YWJsZTo3ZGRkOGU1YzY0Nzg0NDcwYTE5OWZiYzNlZGUyZDQwMi90YWJsZXJhbmdlOjdkZGQ4ZTVjNjQ3ODQ0NzBhMTk5ZmJjM2VkZTJkNDAyXzUtOS0xLTEtMjYyMjg_b9c5176e-29a7-4903-bbd0-3906d6ae6257"
      unitRef="usdPerShare">0.74</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <csgp:IncreaseInRevenue
      contextRef="i208bcd2b769a460e9aac1a7649a29a1e_D20210524-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjg3OTMw_ed60259d-a655-4c69-851e-f48a342a1312"
      unitRef="usd">14000000</csgp:IncreaseInRevenue>
    <csgp:DecreaseInNetIncome
      contextRef="i208bcd2b769a460e9aac1a7649a29a1e_D20210524-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjg3OTQz_4650fa0b-a1c4-45b3-a20c-028efefe84a6"
      unitRef="usd">23000000</csgp:DecreaseInNetIncome>
    <csgp:IncreaseInRevenue
      contextRef="ibcf0b1dbe36b44babccd959a5793ccb1_D20200624-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjg3OTU2_316be0d9-01ba-4a90-b127-e97ecbe217c8"
      unitRef="usd">32000000</csgp:IncreaseInRevenue>
    <csgp:DecreaseInNetIncome
      contextRef="ibcf0b1dbe36b44babccd959a5793ccb1_D20200624-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzIvZnJhZzoxYmQ1ZTQzMzFjYWU0YWM5YWViMTRiMTk4NGQwMTRkOS90ZXh0cmVnaW9uOjFiZDVlNDMzMWNhZTRhYzlhZWIxNGIxOTg0ZDAxNGQ5XzE3MDQyNDMwMjg3OTY5_ba50d646-7162-49da-ba54-e5d6f11fa9cd"
      unitRef="usd">10000000</csgp:DecreaseInNetIncome>
    <us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzUvZnJhZzo2NWY5OWFmNzNlMGY0MDIzYTZiNjM2NjkxNWRlZTdjZS90ZXh0cmVnaW9uOjY1Zjk5YWY3M2UwZjQwMjNhNmI2MzY2OTE1ZGVlN2NlXzI2NDc_79c6302f-4bbe-4576-ab1f-3c61069d49b8">INVESTMENTS AND FAIR VALUE MEASUREMENTS &lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants.&#160;There is a three-tier fair value hierarchy, which categorizes the inputs used in measuring fair value.&#160;These tiers include: Level 1, defined as observable inputs such as quoted prices in active markets for identical assets or liabilities; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3, defined as unobservable inputs for which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's financial assets comprise Level 1 cash equivalents with original maturities of three months or less in the amount of $3.0 billion and $3.4 billion as of December&#160;31, 2021 and December&#160;31, 2020, respectively. The Company had no Level 2 or Level 3 financial assets measured at fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The Company holds other financial instruments, including cash deposits, accounts receivable, accounts payable, accrued expenses and senior notes. The carrying value for such financial instruments, other than the Senior Notes, each approximated their fair values as of December&#160;31, 2021 and December&#160;31, 2020. The estimated fair value of the Company's outstanding Senior Notes using quoted prices from the over-the-counter markets, considered Level 2 inputs, was $1.0 billion as of December&#160;31, 2021 and December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzUvZnJhZzo2NWY5OWFmNzNlMGY0MDIzYTZiNjM2NjkxNWRlZTdjZS90ZXh0cmVnaW9uOjY1Zjk5YWY3M2UwZjQwMjNhNmI2MzY2OTE1ZGVlN2NlXzc2OTY1ODEzOTcwODY_8e07d76c-7e4b-4bfd-9f96-c1fe76cf81a8">INVESTMENTS AND FAIR VALUE MEASUREMENTS &lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fair value is defined as the price that would be received in the sale of an asset or paid to transfer a liability in an orderly transaction between market participants.&#160;There is a three-tier fair value hierarchy, which categorizes the inputs used in measuring fair value.&#160;These tiers include: Level 1, defined as observable inputs such as quoted prices in active markets for identical assets or liabilities; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3, defined as unobservable inputs for which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's financial assets comprise Level 1 cash equivalents with original maturities of three months or less in the amount of $3.0 billion and $3.4 billion as of December&#160;31, 2021 and December&#160;31, 2020, respectively. The Company had no Level 2 or Level 3 financial assets measured at fair value.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; The Company holds other financial instruments, including cash deposits, accounts receivable, accounts payable, accrued expenses and senior notes. The carrying value for such financial instruments, other than the Senior Notes, each approximated their fair values as of December&#160;31, 2021 and December&#160;31, 2020. The estimated fair value of the Company's outstanding Senior Notes using quoted prices from the over-the-counter markets, considered Level 2 inputs, was $1.0 billion as of December&#160;31, 2021 and December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i1d44548a1f394a0ba6c85031af3c50db_I20211231"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzUvZnJhZzo2NWY5OWFmNzNlMGY0MDIzYTZiNjM2NjkxNWRlZTdjZS90ZXh0cmVnaW9uOjY1Zjk5YWY3M2UwZjQwMjNhNmI2MzY2OTE1ZGVlN2NlXzEwOTk1MTE2Mzg1MjE_d6346608-056f-4aed-8909-cadaedabc173"
      unitRef="usd">3000000000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i6778bc66233c4ff581a72345ea5454c7_I20201231"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzUvZnJhZzo2NWY5OWFmNzNlMGY0MDIzYTZiNjM2NjkxNWRlZTdjZS90ZXh0cmVnaW9uOjY1Zjk5YWY3M2UwZjQwMjNhNmI2MzY2OTE1ZGVlN2NlXzE4MTQxOTQxODcyMzU2_bfb3ec2c-87c5-4fa6-8eb4-db41aa6a89ac"
      unitRef="usd">3400000000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:DebtInstrumentFairValue
      contextRef="i4521260cb8ee44f195b8d7fd2e7e94b3_I20211231"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzUvZnJhZzo2NWY5OWFmNzNlMGY0MDIzYTZiNjM2NjkxNWRlZTdjZS90ZXh0cmVnaW9uOjY1Zjk5YWY3M2UwZjQwMjNhNmI2MzY2OTE1ZGVlN2NlXzE4MTQxOTQxODcyNDIx_ae91174b-fa5c-4dfc-93c6-4ca347a851b0"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentFairValue
      contextRef="if25ee72b785641b3822367a8f65241c7_I20201231"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xNzUvZnJhZzo2NWY5OWFmNzNlMGY0MDIzYTZiNjM2NjkxNWRlZTdjZS90ZXh0cmVnaW9uOjY1Zjk5YWY3M2UwZjQwMjNhNmI2MzY2OTE1ZGVlN2NlXzE4MTQxOTQxODcyNDIx_bdde1e84-6fbe-4ef1-a793-ca25e5350e85"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFairValue>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90ZXh0cmVnaW9uOmI5OWI1YTcwYWFiMjRkY2FhN2ZmMmE0OTE3NmRlYmRiXzExMTY_407f799a-d8b2-4901-bbd0-aff7647676aa">LEASES&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has operating leases for its office facilities, data centers and certain vehicles, as well as finance leases for office equipment. The Company's leases have remaining terms of less than one year to seven years. The leases contain various renewal and termination options. The period which is subject to an option to extend the lease is included in the lease term if it is reasonably certain that the option will be exercised. The period which is subject to an option to terminate the lease is included if it is reasonably certain that the option will not be exercised.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease costs related to the Company's operating leases included in the consolidated statements of operations were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:62.089%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.673%"/&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:10.673%"/&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:10.675%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;/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;/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;/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;/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;/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;/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;/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;/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;/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:10pt;font-weight:400;line-height:100%"&gt;Operating lease costs:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;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;&#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-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;&#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-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;&#160;&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;&#160;&#160;&#160;Cost of revenues&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;10,110&#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;11,632&#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;11,407&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Software development&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;6,947&#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;6,020&#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;4,209&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Selling and marketing (excluding customer base amortization)&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;11,911&#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;10,356&#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;8,678&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;General and administrative&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;5,911&#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;4,827&#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;3,299&#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 7.75pt 2px 1pt;text-align:justify;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 operating lease costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;34,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;32,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;27,593&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The impact of lease costs related to finance leases and short-term leases was not material for the&#160;years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to operating leases was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-indent:18pt"&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:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.894%"/&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;/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: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;Year Ended December 31, &lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Balance Sheet Location&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&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;Operating lease liabilities&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:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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;134,150&#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 style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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;148,975&#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;/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: imputed interest&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="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;(8,512)&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;(10,998)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;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 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="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;125,638&#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;137,977&#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;/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: current portion of lease liabilities&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&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;26,268&#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;32,648&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;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 lease liabilities&lt;/span&gt;&lt;/td&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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMS0xLTEtMjYyMjg_0c2f7f00-e628-4c81-a43e-d5bc1f6205c7"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMS0xLTEtMjYyMjg_162166d2-4359-43cd-83d0-1f78b65b1d15"&gt;Lease and other long-term liabilities&lt;/span&gt;&lt;/span&gt;&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 #000;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 #000;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;99,370&#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 style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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;105,329&#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;/tr&gt;&lt;tr style="height:15pt"&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;border-top:3pt double #000;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:3pt double #000;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;Weighted-average remaining lease term in years&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;4.0&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: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;4.0&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;Weighted-average discount rate&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="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;3.1&#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;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 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;3.6&#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;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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Balance sheet information related to finance leases was not material as of December&#160;31, 2021 and December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-indent:18pt"&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:41.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.763%"/&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="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;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;Operating cash flows used in operating leases&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;37,298&#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;37,006&#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;30,287&#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 style="height:15pt"&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ROU assets obtained in exchange for lease obligations:&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:0 1pt"/&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;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;Operating leases&lt;/span&gt;&lt;/td&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;34,247&#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;19,746&#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;22,629&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i67f26cbf3082439b94ae2b697e2a6306_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90ZXh0cmVnaW9uOmI5OWI1YTcwYWFiMjRkY2FhN2ZmMmE0OTE3NmRlYmRiXzIxMA_d4434bd3-222c-4948-90f4-7922abe3e942">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i13c6c312d083433f8a740dbeeb037a1c_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90ZXh0cmVnaW9uOmI5OWI1YTcwYWFiMjRkY2FhN2ZmMmE0OTE3NmRlYmRiXzQzOTgwNDY1MTIyNTQ_67afdc92-3c96-45bc-858d-64f412844ac8">P7Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90ZXh0cmVnaW9uOmI5OWI1YTcwYWFiMjRkY2FhN2ZmMmE0OTE3NmRlYmRiXzExMTc_cbe88811-875b-4ab4-b3cd-04a925ceb068">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease costs related to the Company's operating leases included in the consolidated statements of operations were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:62.089%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.673%"/&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:10.673%"/&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:10.675%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;/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;/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;/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;/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;/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;/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;/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;/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;/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:10pt;font-weight:400;line-height:100%"&gt;Operating lease costs:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;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;&#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-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;&#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-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;&#160;&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;&#160;&#160;&#160;Cost of revenues&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;10,110&#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;11,632&#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;11,407&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Software development&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;6,947&#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;6,020&#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;4,209&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Selling and marketing (excluding customer base amortization)&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;11,911&#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;10,356&#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;8,678&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;General and administrative&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;5,911&#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;4,827&#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;3,299&#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 7.75pt 2px 1pt;text-align:justify;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 operating lease costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;34,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;32,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;27,593&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="ib1a2191a39ee4142a13ba15e76c18ebc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzEyLTEtMS0xLTI2MjI4_76933f24-7df8-4876-b4d8-ca567dbdf34e"
      unitRef="usd">10110000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i9664ba10ef78475e9d67add0f3e26525_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzEyLTMtMS0xLTI2MjI4_38c197d8-c962-4182-a638-31db6f4549c5"
      unitRef="usd">11632000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i0adef354f1e94f1186e256943fb586a7_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzEyLTUtMS0xLTI2MjI4_225bfc49-0a60-41d9-becc-e4f74303a9c7"
      unitRef="usd">11407000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i1ea9e0b0bf854f649bdd3a158ea61913_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzEzLTEtMS0xLTI2MjI4_035feade-a457-42f4-8634-22a35ceeca10"
      unitRef="usd">6947000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ie42005ca8ae94b46a2cdde70125fb1e4_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzEzLTMtMS0xLTI2MjI4_67cd4e3f-c3a9-448c-afdc-72ddb0f13606"
      unitRef="usd">6020000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i1347f7202754455bb9c8311220b33739_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzEzLTUtMS0xLTI2MjI4_edfa9c94-bd0a-4184-9451-3497c71c41df"
      unitRef="usd">4209000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i1b5ae459cede46c388ffb199797dc732_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE0LTEtMS0xLTI2MjI4_875fd329-c007-46d5-9b35-73e57af17413"
      unitRef="usd">11911000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i895c1ca96d954e4586e50575df1ca3bb_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE0LTMtMS0xLTI2MjI4_ae589216-298b-4d66-81f6-12a21b76e0fb"
      unitRef="usd">10356000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i7d90b31939c04fdd9723e49e17ae8df9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE0LTUtMS0xLTI2MjI4_70e93e89-88f6-48e0-8ecf-6703f1b3a7c0"
      unitRef="usd">8678000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i05ef8766099844e6bcfa8f58d67600d7_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE1LTEtMS0xLTI2MjI4_e68ac688-a637-464f-9a26-9d19d28217fb"
      unitRef="usd">5911000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ia6d6e5af2194485da6e696cfc90ef49c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE1LTMtMS0xLTI2MjI4_07294c69-d824-410b-b331-9a0879976f58"
      unitRef="usd">4827000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="iaaa2c2609c2943e7b37d9e8f811f90f6_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE1LTUtMS0xLTI2MjI4_a5cef900-8297-4636-a88e-938db9f99811"
      unitRef="usd">3299000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE2LTEtMS0xLTI2MjI4_4787b190-94fb-4bd5-bc59-a60d9ff48a2b"
      unitRef="usd">34879000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE2LTMtMS0xLTI2MjI4_cc9bfe2b-0371-4898-9163-9ac3f983aa1c"
      unitRef="usd">32835000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTplMWU4NDRiM2ZjYjc0YmM2ODE4ZjMwNThjMWMwM2U1Ni90YWJsZXJhbmdlOmUxZTg0NGIzZmNiNzRiYzY4MThmMzA1OGMxYzAzZTU2XzE2LTUtMS0xLTI2MjI4_2488e414-4ee7-47f0-b9aa-015ce9c945ab"
      unitRef="usd">27593000</us-gaap:OperatingLeaseCost>
    <csgp:SupplementalBalanceSheetInformationRelatedtoLeasesTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90ZXh0cmVnaW9uOmI5OWI1YTcwYWFiMjRkY2FhN2ZmMmE0OTE3NmRlYmRiXzExMTk_1de72105-0777-481c-8384-12babf62b736">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to operating leases was as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-indent:18pt"&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:41.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:29.894%"/&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;/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: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;Year Ended December 31, &lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Balance&lt;/span&gt;&lt;/td&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:10pt;font-weight:700;line-height:100%"&gt;Balance Sheet Location&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&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;Operating lease liabilities&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:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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;134,150&#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 style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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;148,975&#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;/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: imputed interest&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="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;(8,512)&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;(10,998)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;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 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="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;125,638&#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;137,977&#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;/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: current portion of lease liabilities&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&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;26,268&#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;32,648&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;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 lease liabilities&lt;/span&gt;&lt;/td&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;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMS0xLTEtMjYyMjg_0c2f7f00-e628-4c81-a43e-d5bc1f6205c7"&gt;&lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMS0xLTEtMjYyMjg_162166d2-4359-43cd-83d0-1f78b65b1d15"&gt;Lease and other long-term liabilities&lt;/span&gt;&lt;/span&gt;&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 #000;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 #000;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;99,370&#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 style="background-color:#cceeff;border-top:1pt solid #000;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 #000;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;105,329&#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;/tr&gt;&lt;tr style="height:15pt"&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;border-top:3pt double #000;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:3pt double #000;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;Weighted-average remaining lease term in years&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:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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;4.0&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: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;4.0&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;Weighted-average discount rate&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="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;3.1&#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;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 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;3.6&#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;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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</csgp:SupplementalBalanceSheetInformationRelatedtoLeasesTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzItMy0xLTEtMjYyMjg_e7a9377f-03cf-48f5-bc03-618098d5826d"
      unitRef="usd">134150000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzItNS0xLTEtMjYyMjg_9cb23a61-7bce-468b-909b-99782c316cd3"
      unitRef="usd">148975000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzMtMy0xLTEtMjYyMjg_dd0c9f74-82a8-4a4f-bc55-163a2f12f88b"
      unitRef="usd">8512000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzMtNS0xLTEtMjYyMjg_4dd3afcd-0ccc-4636-845f-9d8091200bb0"
      unitRef="usd">10998000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzQtMy0xLTEtMjYyMjg_c04f817a-dc27-4170-989c-1505a1c2862d"
      unitRef="usd">125638000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzQtNS0xLTEtMjYyMjg_b6ffbac0-e462-4d76-85f6-abb315c69e69"
      unitRef="usd">137977000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzUtMy0xLTEtMjYyMjg_35d6af29-0de8-4bdf-b236-9a61c6ebf257"
      unitRef="usd">26268000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzUtNS0xLTEtMjYyMjg_ff5649f0-3bf3-444b-91b2-8ba83395e024"
      unitRef="usd">32648000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtMy0xLTEtMjYyMjg_e90a3f21-3edb-47f2-960d-d5691464e0b6"
      unitRef="usd">99370000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzYtNS0xLTEtMjYyMjg_fe06b341-e90c-4f3f-99de-40a22f35c891"
      unitRef="usd">105329000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzgtMy0xLTEtMjYyMjg_61ea5819-8a0c-410a-8640-8e6f56fdc82a">P4Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzgtNS0xLTEtMjYyMjg_292decf6-899f-4592-9719-a6fef4372423">P4Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzktMy0xLTEtMjYyMjg_4200596a-50e1-48dc-9210-945c21cb323b"
      unitRef="number">0.031</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZTphMzNmNjQ4MzNiMTI0YWVlYWE2YWJlMzU4YTIzZDE1OC90YWJsZXJhbmdlOmEzM2Y2NDgzM2IxMjRhZWVhYTZhYmUzNThhMjNkMTU4XzktNS0xLTEtMjYyMjg_83557351-dfff-42c0-aa7a-c9a7ad12cf2c"
      unitRef="number">0.036</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <csgp:ScheduleofSupplementalCashFlowInformationforLeasesTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90ZXh0cmVnaW9uOmI5OWI1YTcwYWFiMjRkY2FhN2ZmMmE0OTE3NmRlYmRiXzExMTU_0295451a-7e24-4c98-92cc-acbfc74243f7">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-indent:18pt"&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:41.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.763%"/&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="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;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;Operating cash flows used in operating leases&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;37,298&#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;37,006&#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;30,287&#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 style="height:15pt"&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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;ROU assets obtained in exchange for lease obligations:&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:0 1pt"/&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;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;Operating leases&lt;/span&gt;&lt;/td&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;34,247&#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;19,746&#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;22,629&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</csgp:ScheduleofSupplementalCashFlowInformationforLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZToxNzQzYjNmZTU0OWQ0ZWVhODc3ZjJjZWY2YzkyMjVkYi90YWJsZXJhbmdlOjE3NDNiM2ZlNTQ5ZDRlZWE4NzdmMmNlZjZjOTIyNWRiXzMtMS0xLTEtMjYyMjg_c1c70e9c-3c80-4ee8-97dc-8157c7342160"
      unitRef="usd">37298000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZToxNzQzYjNmZTU0OWQ0ZWVhODc3ZjJjZWY2YzkyMjVkYi90YWJsZXJhbmdlOjE3NDNiM2ZlNTQ5ZDRlZWE4NzdmMmNlZjZjOTIyNWRiXzMtMy0xLTEtMjYyMjg_1a36fdf6-6e19-4c44-8d0d-895bbd714208"
      unitRef="usd">37006000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZToxNzQzYjNmZTU0OWQ0ZWVhODc3ZjJjZWY2YzkyMjVkYi90YWJsZXJhbmdlOjE3NDNiM2ZlNTQ5ZDRlZWE4NzdmMmNlZjZjOTIyNWRiXzMtNS0xLTEtNDg2NjM_cb1d45da-5f1d-45b7-b2bb-dc4d946aff12"
      unitRef="usd">30287000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZToxNzQzYjNmZTU0OWQ0ZWVhODc3ZjJjZWY2YzkyMjVkYi90YWJsZXJhbmdlOjE3NDNiM2ZlNTQ5ZDRlZWE4NzdmMmNlZjZjOTIyNWRiXzYtMS0xLTEtMjYyMjg_086b78b2-fc68-4be8-90bc-8b41738acb47"
      unitRef="usd">34247000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZToxNzQzYjNmZTU0OWQ0ZWVhODc3ZjJjZWY2YzkyMjVkYi90YWJsZXJhbmdlOjE3NDNiM2ZlNTQ5ZDRlZWE4NzdmMmNlZjZjOTIyNWRiXzYtMy0xLTEtMjYyMjg_d5887503-d417-4e28-a19a-301cc6e80b50"
      unitRef="usd">19746000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODQvZnJhZzpiOTliNWE3MGFhYjI0ZGNhYTdmZjJhNDkxNzZkZWJkYi90YWJsZToxNzQzYjNmZTU0OWQ0ZWVhODc3ZjJjZWY2YzkyMjVkYi90YWJsZXJhbmdlOjE3NDNiM2ZlNTQ5ZDRlZWE4NzdmMmNlZjZjOTIyNWRiXzYtNS0xLTEtNDg2NzA_cdf0cb1f-4ea4-4241-a060-03e3094ed3a6"
      unitRef="usd">22629000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90ZXh0cmVnaW9uOjgxNjEwMmUzYWRlMjQ4NzZiMDJlNDExZmQxNjlhMjI0XzIyMw_cafe34d1-1de5-46c4-9920-f30e7f5256c6">PROPERTY AND EQUIPMENT &lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment consists of the following (in thousands):&lt;/span&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;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;Leasehold improvements&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;75,634&#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;80,963&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture, office equipment and vehicles&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;47,540&#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;68,587&#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;Computer hardware and software&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;30,179&#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;86,755&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Aircrafts&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;68,670&#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;28,561&#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;Land&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;38,774&#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;24,642&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Buildings&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;96,496&#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;2,970&#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;Property and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;357,293&#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: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 #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;292,478&#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: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;Accumulated depreciation and amortization&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;(85,862)&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;(166,153)&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 19pt;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;Property and equipment, 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;271,431&#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;126,325&#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-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation expense for property and equipment was approximately $29 million, $29 million and $26 million, for the years ended December&#160;31, 2021, 2020 and 2019, respectively. In 2021, the Company removed $107 million of property and equipment which was fully depreciated from property and equipment, gross and accumulated depreciation and amortization, which had no net impact on the Company's financial results.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i334d1edd6a2e49379a67c1d9d61a9e32_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzItMS0xLTEtMjYyMjg_313d9398-919d-467b-a868-4f22df6c101e"
      unitRef="usd">75634000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ida3eedab73904a13a6e970ba74cf826f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzItMy0xLTEtMjYyMjg_289ec6c8-ecbe-4011-9c85-83f463938d55"
      unitRef="usd">80963000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i18e6c142fbf84667a695da30f49c5137_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzMtMS0xLTEtMjYyMjg_3979a1b0-bc81-45e9-9caa-87376cc18ff3"
      unitRef="usd">47540000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i16529671db3d4a199758506130cdc9d3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzMtMy0xLTEtMjYyMjg_2c432734-4d9c-4a1c-b7c5-127ac3ecc7ca"
      unitRef="usd">68587000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="icc72e7a6470f469080c2533a3f39ce28_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzQtMS0xLTEtMjYyMjg_6e836826-26db-44f7-8af4-d3bc95f8ed88"
      unitRef="usd">30179000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i3dab246f5a7547e4a01ebc02bd5e1e6a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzQtMy0xLTEtMjYyMjg_0681e8c4-eb0c-42c2-89d6-d2250376d3f2"
      unitRef="usd">86755000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4221878de5d4485fa01137a4d595568c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzUtMS0xLTEtMjYyMjg_1fbfba7e-6b7c-486b-bf5f-5b0e0989569f"
      unitRef="usd">68670000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i885b44558dd7481e8ba5be8941c8da57_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzUtMy0xLTEtMjYyMjg_ab152b3c-5cc4-4b7b-8eba-58e8b3595721"
      unitRef="usd">28561000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie36f67349a874cbfb7fc5c0fc9318263_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzYtMS0xLTEtMjYyMjg_de45071e-8d3a-43e7-9aa6-babda04fc4e3"
      unitRef="usd">38774000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i78655897a4254e58bc0f2c7eba3e1759_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzYtMy0xLTEtMjYyMjg_2648f0b4-9940-419d-b807-1831f90b55af"
      unitRef="usd">24642000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i57ac25085f7145bd909ed777d168d0dc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzctMS0xLTEtMjYyMjg_3ec1bed1-caca-4e97-8a4e-714df175520a"
      unitRef="usd">96496000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i21b547ff38544886a50b301fa80466b5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzctMy0xLTEtMjYyMjg_1146eaba-8bb4-49ad-bc3e-b607803410c2"
      unitRef="usd">2970000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzgtMS0xLTEtMjYyMjg_2168b4ee-7b14-4cef-86ca-aea2483bf98b"
      unitRef="usd">357293000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzgtMy0xLTEtMjYyMjg_142ac6f5-e880-4ed6-a67f-100625fc0ab6"
      unitRef="usd">292478000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzktMS0xLTEtMjYyMjg_d38451d7-615d-4f07-8115-840134a8a6e0"
      unitRef="usd">85862000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzktMy0xLTEtMjYyMjg_69fe1b32-de6c-4847-a955-947af67f5725"
      unitRef="usd">166153000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzEwLTEtMS0xLTI2MjI4_21194ff0-f288-4030-a0d1-efb784849e76"
      unitRef="usd">271431000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90YWJsZTphZjM5ZDIzZTdkNzM0MWMwOTNlYzY5MDVkOTM3YzY2NS90YWJsZXJhbmdlOmFmMzlkMjNlN2Q3MzQxYzA5M2VjNjkwNWQ5MzdjNjY1XzEwLTMtMS0xLTI2MjI4_8961d71f-3a53-4733-b364-347c037764f3"
      unitRef="usd">126325000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90ZXh0cmVnaW9uOjgxNjEwMmUzYWRlMjQ4NzZiMDJlNDExZmQxNjlhMjI0XzE0OA_7cf738f8-b91e-4053-8a7c-2277c19bc9db"
      unitRef="usd">29000000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90ZXh0cmVnaW9uOjgxNjEwMmUzYWRlMjQ4NzZiMDJlNDExZmQxNjlhMjI0XzE1Mg_e46cd95c-167b-487f-9189-32df47c625e9"
      unitRef="usd">29000000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90ZXh0cmVnaW9uOjgxNjEwMmUzYWRlMjQ4NzZiMDJlNDExZmQxNjlhMjI0XzE1OQ_77622438-cd9f-4ee1-8c8a-247d23468519"
      unitRef="usd">26000000</us-gaap:Depreciation>
    <csgp:FullyDepreciatedAssetsWriteOff
      contextRef="i763529a12f4f4a51aa513f8dd6d1b431_D20211001-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xODcvZnJhZzo4MTYxMDJlM2FkZTI0ODc2YjAyZTQxMWZkMTY5YTIyNC90ZXh0cmVnaW9uOjgxNjEwMmUzYWRlMjQ4NzZiMDJlNDExZmQxNjlhMjI0XzEwOTk1MTE2MjgyMTE_faee7c1a-a4bc-44e0-b3ac-816833610271"
      unitRef="usd">107000000</csgp:FullyDepreciatedAssetsWriteOff>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzEyMjA_b1aacdb2-d51d-4cc9-89c2-136dc8ebc31d">GOODWILL&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill by operating segment consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:51.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.318%"/&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:14.318%"/&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:14.320%"/&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:10pt;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:10pt;font-weight:700;line-height:100%"&gt;North America&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:10pt;font-weight:700;line-height:100%"&gt;International&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:10pt;font-weight:700;line-height:100%"&gt;Total&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill, December&#160;31, 2019&lt;/span&gt;&lt;/div&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,738,360&#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;143,660&#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;1,882,020&#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:bottom"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions, including measurement period adjustments&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="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;347,134&#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;1,273&#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;348,407&#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 19pt;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;Effect of foreign currency translation&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;&#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;5,572&#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;5,572&#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: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;Goodwill, December&#160;31, 2020&lt;/span&gt;&lt;/div&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;2,085,494&#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 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;150,505&#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 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;2,235,999&#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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions, including measurement period adjustments&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;(2)&lt;/span&gt;&lt;/div&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;60,352&#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;27,441&#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;87,793&#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 19pt;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;Effect of foreign currency translation&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;(2,777)&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;(2,777)&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill, December&#160;31, 2021&lt;/span&gt;&lt;/div&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;2,145,846&#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;175,169&#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;2,321,015&#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: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 colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; North America goodwill for the year ended December&#160;31, 2020 includes goodwill recorded in connection with the acquisitions of Ten-X and Homesnap of $135.7&#160;million and $211.1&#160;million, respectively, as well as STR measurement period adjustments to goodwill of $0.3&#160;million. International goodwill for the year ended December&#160;31, 2020 includes goodwill recorded in connection with the acquisition of Emporis GmbH of $1.2 million and STR measurement period adjustments of $0.1&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; North America goodwill for the year ended December&#160;31, 2021 includes goodwill recorded in connection with the acquisition of Homes.com of $88.5 million, offset by measurement period adjustments of $1.4&#160;million for Ten-X and $26.7&#160;million for Homesnap recorded during the year ended December&#160;31, 2021 primarily related to the measurement of the fair value of Homesnap customer relationships in the first quarter of 2021. International goodwill recorded in connection with the acquisition of BureauxLocaux was $27.4 million. See Note 5 for further discussion.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Of the goodwill generated from acquisitions completed in 2021, $20 million is expected to be deductible for tax purposes. Goodwill generated from acquisitions completed in 2020 was not deductible for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No impairments of the Company's goodwill were recognized during the years ended December 31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzQzOTgwNDY1MTQwODc_89cc34d7-13c2-4413-8632-a329fe86b1b2">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill by operating segment consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:51.176%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.318%"/&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:14.318%"/&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:14.320%"/&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:10pt;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:10pt;font-weight:700;line-height:100%"&gt;North America&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:10pt;font-weight:700;line-height:100%"&gt;International&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:10pt;font-weight:700;line-height:100%"&gt;Total&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill, December&#160;31, 2019&lt;/span&gt;&lt;/div&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,738,360&#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;143,660&#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;1,882,020&#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:bottom"&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions, including measurement period adjustments&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="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;347,134&#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;1,273&#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;348,407&#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 19pt;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;Effect of foreign currency translation&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;&#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;5,572&#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;5,572&#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: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;Goodwill, December&#160;31, 2020&lt;/span&gt;&lt;/div&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;2,085,494&#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 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;150,505&#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 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;2,235,999&#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;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquisitions, including measurement period adjustments&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;(2)&lt;/span&gt;&lt;/div&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;60,352&#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;27,441&#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;87,793&#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 19pt;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;Effect of foreign currency translation&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;(2,777)&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;(2,777)&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill, December&#160;31, 2021&lt;/span&gt;&lt;/div&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;2,145,846&#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;175,169&#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;2,321,015&#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: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 colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; North America goodwill for the year ended December&#160;31, 2020 includes goodwill recorded in connection with the acquisitions of Ten-X and Homesnap of $135.7&#160;million and $211.1&#160;million, respectively, as well as STR measurement period adjustments to goodwill of $0.3&#160;million. International goodwill for the year ended December&#160;31, 2020 includes goodwill recorded in connection with the acquisition of Emporis GmbH of $1.2 million and STR measurement period adjustments of $0.1&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; North America goodwill for the year ended December&#160;31, 2021 includes goodwill recorded in connection with the acquisition of Homes.com of $88.5 million, offset by measurement period adjustments of $1.4&#160;million for Ten-X and $26.7&#160;million for Homesnap recorded during the year ended December&#160;31, 2021 primarily related to the measurement of the fair value of Homesnap customer relationships in the first quarter of 2021. International goodwill recorded in connection with the acquisition of BureauxLocaux was $27.4 million. See Note 5 for further discussion.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="ie1a18e789ec34007b66f1f8f568742d2_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzEtMS0xLTEtMjYyMjg_d42daab9-a903-449e-ae5d-1b9dfff6e848"
      unitRef="usd">1738360000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="icb576526a981447fb16bbc3afb03777f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzEtMy0xLTEtMjYyMjg_ede66781-3389-40af-8b03-e839ecbefca7"
      unitRef="usd">143660000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzEtNS0xLTEtMjYyMjg_1054f5de-b524-4150-b915-8676978686a8"
      unitRef="usd">1882020000</us-gaap:Goodwill>
    <csgp:GoodwillAcquisitionsAndAdjustments
      contextRef="i9f160ec2c36342368cc109c675637101_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzItMS0xLTEtMjYyMjg_d7d437cc-0116-4eac-bf1d-4a607cb14c8a"
      unitRef="usd">347134000</csgp:GoodwillAcquisitionsAndAdjustments>
    <csgp:GoodwillAcquisitionsAndAdjustments
      contextRef="i5d4dc603c55342ba865cc629a433b1d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzItMy0xLTEtMjYyMjg_4dd62ba2-f8dc-48e6-a7a8-37cf314a5e03"
      unitRef="usd">1273000</csgp:GoodwillAcquisitionsAndAdjustments>
    <csgp:GoodwillAcquisitionsAndAdjustments
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzItNS0xLTEtMjYyMjg_21b00a92-9b60-4e46-afcf-2e314767bdf0"
      unitRef="usd">348407000</csgp:GoodwillAcquisitionsAndAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i9f160ec2c36342368cc109c675637101_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzMtMS0xLTEtMjYyMjg_4d1ce651-67c6-4b84-b063-27b047cdd32f"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i5d4dc603c55342ba865cc629a433b1d9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzMtMy0xLTEtMjYyMjg_dd9242a3-f137-4988-b9be-d644dcc305f5"
      unitRef="usd">5572000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzMtNS0xLTEtMjYyMjg_4ea3378c-02e3-4ef1-9c05-5185830d3849"
      unitRef="usd">5572000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="ie23c0ce34b044a0da5dca0909f86f61f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzQtMS0xLTEtMjYyMjg_b48e3610-bd22-4d3b-9eac-b827e7c17c7d"
      unitRef="usd">2085494000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="if870a5c2061e4c8cadaf55215a2cc0fb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzQtMy0xLTEtMjYyMjg_3baa88ba-c013-4157-9173-336065efabc5"
      unitRef="usd">150505000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzQtNS0xLTEtMjYyMjg_4c48fd29-a789-4b9b-8b0b-5e2c74ed57b8"
      unitRef="usd">2235999000</us-gaap:Goodwill>
    <csgp:GoodwillAcquisitionsAndAdjustments
      contextRef="i7cc6fcf940964397b1cdca6234fba2a9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzUtMS0xLTEtMjYyMjg_964f38fa-dd88-42f3-bf9f-204bca517496"
      unitRef="usd">60352000</csgp:GoodwillAcquisitionsAndAdjustments>
    <csgp:GoodwillAcquisitionsAndAdjustments
      contextRef="i826af0ae57d44711b22e8b36fa6c6c48_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzUtMy0xLTEtMjYyMjg_01359d57-f179-4159-b740-ea6422767766"
      unitRef="usd">27441000</csgp:GoodwillAcquisitionsAndAdjustments>
    <csgp:GoodwillAcquisitionsAndAdjustments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzUtNS0xLTEtMjYyMjg_06e75de5-254e-44f9-9ca7-89c612eadbc8"
      unitRef="usd">87793000</csgp:GoodwillAcquisitionsAndAdjustments>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i7cc6fcf940964397b1cdca6234fba2a9_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzYtMS0xLTEtMjYyMjg_f690537c-ea3c-4309-bdee-3bc5c0827b20"
      unitRef="usd">0</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i826af0ae57d44711b22e8b36fa6c6c48_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzYtMy0xLTEtMjYyMjg_eecc5f4c-1971-45ae-a305-706d1fcf3709"
      unitRef="usd">-2777000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzYtNS0xLTEtMjYyMjg_8be976cd-b638-4a8d-a151-8237fa701173"
      unitRef="usd">-2777000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="idf42f1a8c91249b69cfca8448b7a2447_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzctMS0xLTEtMjYyMjg_0d0a1a92-1133-4a8b-ba4a-4e3076f4968f"
      unitRef="usd">2145846000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic1aa234aef6242078e35e2ee677f086c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzctMy0xLTEtMjYyMjg_f88cb598-0b5f-42ab-8b69-879357965ffb"
      unitRef="usd">175169000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90YWJsZTozYmQ3MjBlYjNlOWM0OGFjODMwNGQ4YzYzZDg2ZWIyMS90YWJsZXJhbmdlOjNiZDcyMGViM2U5YzQ4YWM4MzA0ZDhjNjNkODZlYjIxXzctNS0xLTEtMjYyMjg_47004419-413a-426c-a494-18a090029860"
      unitRef="usd">2321015000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i17f8a23581614125a4c24fb0bd56c050_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzU0OTc1NTgxNDU5NDk_63887ac9-8826-4155-a727-475d0f4854f2"
      unitRef="usd">135700000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="ife2ff8a6ba6e46219bf418d921f60fca_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzU0OTc1NTgxNDU5NjU_80e57744-f60c-488a-82a0-108795fd30c7"
      unitRef="usd">211100000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="ia2de7e63d67f4e378f57e1bf48ce4747_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzEwOTk1MTE2MzMyNzM_7089ec6d-df47-468e-8185-904b5f5def5e"
      unitRef="usd">300000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i3eb9c6dcd96944f8b7e622cafc519124_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzEwOTk1MTE2Mjk1NjE_80263f52-ffae-4b47-b919-8dd0035ba907"
      unitRef="usd">1200000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="i491836dcf70743b9bf7cb7dcc10761ae_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzQzOTgwNDY1MTY2NDU_bc1890b0-3016-4fb8-ad44-458eaad527d6"
      unitRef="usd">100000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i3e01e5e28d614b9a96a529e8d5afb125_D20210524-20210524"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzE4MTQxOTQxODY0MDk1_166bb148-690b-40ce-928f-6da02d50ba70"
      unitRef="usd">88500000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="i42de879bca184296bfa082b5bfb2ae14_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzQ5NDc4MDIzMzIwMzI_e59a0b47-aa3d-428d-a0e2-9598c9b2fc05"
      unitRef="usd">1400000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:GoodwillPeriodIncreaseDecrease
      contextRef="i6d21707f91d7494991c62707aff0cbad_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzQ5NDc4MDIzMzIwNDY_edbfbb07-bd76-450c-be18-7fd963b13869"
      unitRef="usd">26700000</us-gaap:GoodwillPeriodIncreaseDecrease>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i031cd2e3482d4918bd81e29f7a35ac25_D20211001-20211001"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzE2NDkyNjc0NDUxNzM_63249abd-5599-4642-9df9-6c9f3c7ed5a0"
      unitRef="usd">27400000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzE3MDQyNDMwMjMzODYx_93a46f1c-d66a-49f5-a8b1-e35634bf419b"
      unitRef="usd">20000000</us-gaap:BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzExMDc_2bd46caa-7e0f-4195-aeb4-6404e353e24d"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzExMDc_7da4bdd3-6126-45f8-8fba-1cb21bf68de1"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTAvZnJhZzpjNjZhNzUxYTc3ZmI0OTc0YjQ4ZDAzYjUzZDEzMjQ4Mi90ZXh0cmVnaW9uOmM2NmE3NTFhNzdmYjQ5NzRiNDhkMDNiNTNkMTMyNDgyXzExMDc_ae80fffe-8b5a-4d3f-ad77-04fab3f68c88"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzc5NQ_98da174d-9f01-4537-bf62-3850e6e4a3ce">INTANGIBLE ASSETS &lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consist of the following (in thousands, except amortization period data):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:60.979%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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.931%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:26pt"&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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;Weighted- Average&lt;br/&gt;Amortization Period&lt;br/&gt;(in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:26pt"&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology and data&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;41,979&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;131,551&#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:bottom"/&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;6&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&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;(15,333)&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;(97,791)&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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology and data, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;26,646&#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: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;33,760&#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="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired customer base&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;569,666&#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;545,643&#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: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&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&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;(319,039)&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;(296,758)&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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired customer base, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;250,627&#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: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;248,885&#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="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired trade names and other intangible assets&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;262,136&#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;249,465&#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: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;13&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&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;(103,747)&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;(105,365)&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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired trade names and other intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;158,389&#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: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;144,100&#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="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 19pt 2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&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;435,662&#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;426,745&#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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense for intangible assets was approximately $104 million, $88 million and $55 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively. In 2021, the Company removed $171 million of intangible assets that were fully amortized from the acquired intangible assets and accumulated amortization, which had no net impact on the Company's financial results.&lt;/span&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;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the aggregate, the Company expects the future amortization expense for intangible assets existing as of December&#160;31, 2021 to be approxi&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;mately $87 million, $71 million, $59 million, $47 million and $39 million for the years e&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;nding December 31, 2022, 2023, 2024, 2025 and 2026, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying value of such assets may not be recoverable. No impairments of the Company's intangible assets were recognized during the years ended December 31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzc5MQ_d5442229-fbae-49e7-92e4-4ca203073aed">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets consist of the following (in thousands, except amortization period data):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:60.979%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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.931%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:26pt"&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" rowspan="2" 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;Weighted- Average&lt;br/&gt;Amortization Period&lt;br/&gt;(in years)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:26pt"&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology and data&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;41,979&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;131,551&#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:bottom"/&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;6&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&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;(15,333)&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;(97,791)&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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology and data, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;26,646&#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: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;33,760&#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="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired customer base&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;569,666&#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;545,643&#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: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&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&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;(319,039)&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;(296,758)&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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired customer base, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;250,627&#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: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;248,885&#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="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired trade names and other intangible assets&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;262,136&#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;249,465&#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: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;13&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&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;(103,747)&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;(105,365)&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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired trade names and other intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;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;158,389&#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: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;144,100&#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="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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&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;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 19pt 2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&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;435,662&#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;426,745&#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;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i605ea78a1483478683b205bdfb4e06ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzItMS0xLTEtMjYyMjg_643b7c63-5d9b-4949-b4b8-7d630229b175"
      unitRef="usd">41979000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="id744076475ee4d258eb8deeb3c6ea886_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzItMy0xLTEtMjYyMjg_12fed282-5e84-4984-bfe8-50aed5a93888"
      unitRef="usd">131551000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ibdb32bf3be014681a4680ad4fd51ff45_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzItNS0xLTEtMjYyMjg_6f4932e3-168d-4574-b32c-bf8cd6aaefb7">P6Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i605ea78a1483478683b205bdfb4e06ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzMtMS0xLTEtMjYyMjg_2ddc61af-fbd8-4b48-8261-d6c321c81ef7"
      unitRef="usd">15333000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="id744076475ee4d258eb8deeb3c6ea886_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzMtMy0xLTEtMjYyMjg_1c4b851b-f13f-47ad-98d0-922d9afd9169"
      unitRef="usd">97791000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i605ea78a1483478683b205bdfb4e06ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzQtMS0xLTEtMjYyMjg_743486e4-08b5-4585-a6e2-b0d4ef6291cb"
      unitRef="usd">26646000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="id744076475ee4d258eb8deeb3c6ea886_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzQtMy0xLTEtMjYyMjg_bfdc7319-858d-4cdb-9381-c0adf9a00e04"
      unitRef="usd">33760000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i90f9933d0e3e4c32a82f3717297865db_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzYtMS0xLTEtMjYyMjg_c944cc62-1b2b-43d3-a29d-7f42ad72bffe"
      unitRef="usd">569666000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ieb301bbbd3a44cb48b4dacf422ccd24c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzYtMy0xLTEtMjYyMjg_9e11308b-5c52-45c2-98ac-143005c78513"
      unitRef="usd">545643000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="id4ade285266142be9f1ef6c62f9aeb13_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzYtNS0xLTEtMjYyMjg_861cddb6-e2d2-4978-8de4-b50f157da559">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i90f9933d0e3e4c32a82f3717297865db_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzctMS0xLTEtMjYyMjg_ab79d09a-8d98-49d2-aa0b-a050fd3ad068"
      unitRef="usd">319039000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ieb301bbbd3a44cb48b4dacf422ccd24c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzctMy0xLTEtMjYyMjg_4b7d8287-e853-4b39-959b-e8f97652039d"
      unitRef="usd">296758000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i90f9933d0e3e4c32a82f3717297865db_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzgtMS0xLTEtMjYyMjg_165b6324-8dd5-450d-8d43-839118e3b430"
      unitRef="usd">250627000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ieb301bbbd3a44cb48b4dacf422ccd24c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzgtMy0xLTEtMjYyMjg_9aa4cc51-38f6-4740-a21a-d15913e25316"
      unitRef="usd">248885000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic74855476964404d93eb91957bcb4a61_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzEwLTEtMS0xLTI2MjI4_24374287-ee8a-4c31-9540-da42373c79e6"
      unitRef="usd">262136000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib24a9414db694d9194b1affe32bd3cee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzEwLTMtMS0xLTI2MjI4_bd3be50d-ae47-40d0-b87b-334b14273149"
      unitRef="usd">249465000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ib2343b8d2d1742f9a6739d9a03b765ba_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzEwLTUtMS0xLTI2MjI4_27bb0046-0ef4-466d-a7ae-c4c34bd732d3">P13Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic74855476964404d93eb91957bcb4a61_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzExLTEtMS0xLTI2MjI4_6bdfbc36-dcbc-4ecd-ab18-3fcbc4eb108c"
      unitRef="usd">103747000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib24a9414db694d9194b1affe32bd3cee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzExLTMtMS0xLTI2MjI4_747d21c8-5e9f-4233-9267-b22808b11726"
      unitRef="usd">105365000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic74855476964404d93eb91957bcb4a61_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzEyLTEtMS0xLTI2MjI4_a8a08358-cf6a-4eb2-930f-016e0995d809"
      unitRef="usd">158389000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib24a9414db694d9194b1affe32bd3cee_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzEyLTMtMS0xLTI2MjI4_87fc8efa-67d5-4e64-9598-dcc15e1b4540"
      unitRef="usd">144100000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzE0LTEtMS0xLTI2MjI4_b7e7616f-b070-45ed-9d94-7c2fdece9e95"
      unitRef="usd">435662000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90YWJsZTpjODQxODU4NWEwMDU0MGI0ODM0MDI2MTdhZDEyYzFmZS90YWJsZXJhbmdlOmM4NDE4NTg1YTAwNTQwYjQ4MzQwMjYxN2FkMTJjMWZlXzE0LTMtMS0xLTI2MjI4_67c76c70-a44d-44c1-8cdf-6f88b972c119"
      unitRef="usd">426745000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AdjustmentForAmortization
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzE3MQ_fe31f108-b1b1-4920-a1da-289e118d175a"
      unitRef="usd">104000000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzE3NQ_9da23498-68fc-4605-abb3-1ed10b2797d8"
      unitRef="usd">88000000</us-gaap:AdjustmentForAmortization>
    <us-gaap:AdjustmentForAmortization
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzE4Mg_f79187d7-4bf0-4293-ae7a-b363eb42716a"
      unitRef="usd">55000000</us-gaap:AdjustmentForAmortization>
    <csgp:IndefiniteLivedIntangibleAssetsWrittenOff
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzEwOTk1MTE2Mjg4NTU_f90b5224-b4c9-436e-8ae8-c2a017f4305e"
      unitRef="usd">171000000</csgp:IndefiniteLivedIntangibleAssetsWrittenOff>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzM2Ng_f6954828-7855-455a-b86b-0997706113a7"
      unitRef="usd">87000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzM3MA_51d23753-57b8-4ad7-8bac-a83a63359d9b"
      unitRef="usd">71000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzM3NA_362fa2b0-d0a4-417d-ae5f-9fa7de0b69e7"
      unitRef="usd">59000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzM3OA_b15e5193-b883-47b4-9719-a9c9bb9558be"
      unitRef="usd">47000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzM4NQ_ea115a3e-2e42-4ffe-a4d1-6821cf6ac2de"
      unitRef="usd">39000000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzY3MA_0d0b6767-4a61-4ecf-8379-598123fd335c"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzY3MA_5c9b04c7-5214-4b37-bcff-a1e606f79585"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTMvZnJhZzpjNWM1YjkyZmJlNTk0OGIyODNhYTAwY2ViMTcyMjAwYy90ZXh0cmVnaW9uOmM1YzViOTJmYmU1OTQ4YjI4M2FhMDBjZWIxNzIyMDBjXzY3MA_edba9f85-be1c-4345-9533-04742b874cdc"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:LongTermDebtTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzYyNDk_daddb898-578f-4c87-8c89-245a580d9dc0">LONG-TERM DEBT&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the components of outstanding debt (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.380%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.484%"/&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 style="width:1.0%"/&gt;&lt;td style="width:16.023%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.026%"/&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;/tr&gt;&lt;tr&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;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:700;line-height:100%"&gt;December 31, 2021&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:700;line-height:100%"&gt;December 31, 2020&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:#cceeff;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;2.800% Senior Notes due July 15, 2030&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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 style="background-color:#cceeff;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:#cceeff;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;1,000,000&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;1,000,000&#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: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;/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;2020 Credit Agreement, due July 1, 2025&lt;/span&gt;&lt;/td&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;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="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;Total face amount of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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="2" style="background-color:#cceeff;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,000,000&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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: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,000,000&#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: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;/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;Senior notes unamortized discount and issuance costs&lt;/span&gt;&lt;/td&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;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;(12,056)&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;(13,285)&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;/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;Long-term debt, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;987,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;986,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Senior Notes&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:13.5pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On July 1, 2020, the Company issued $1.0&#160;billion aggregate principal amount of 2.800% Senior Notes due July 15, 2030 (the &#x201c;Senior Notes&#x201d;). The Senior Notes were sold to a group of financial institutions as initial purchasers who subsequently resold the Senior Notes to non-U.S. persons pursuant to Regulation S under the Securities Act of 1933, as amended (the &#x201c;Securities Act&#x201d;), and to persons reasonably believed to be qualified institutional buyers pursuant to Rule 144A under the Securities Act at a purchase price equal to 99.921% of their principal amount. Interest on the Senior Notes is payable semi-annually in arrears beginning on January 15, 2021. The Senior Notes may be redeemed in whole or in part by the Company (a) at any time prior to April 15, 2030 at a redemption price equal to 100% of the principal amount of the Senior Notes, plus the Applicable Premium (as calculated in accordance with the indenture governing the Senior Notes), and any accrued and unpaid interest, if any, on the principal amount of Senior Notes being redeemed to, but excluding, the redemption date, and (b) on or after April 15, 2030 at a redemption price equal to 100% of the principal amount of the Senior Notes, plus any accrued and unpaid interest, if any, on the principal amount of Senior Notes being redeemed to, but excluding, the redemption date. The Company&#x2019;s obligations under the Senior Notes are guaranteed on a senior, unsecured basis by the Company&#x2019;s domestic wholly owned subsidiaries and contain covenants, events of default and other customary provisions for which the Company was in compliance with as of December&#160;31, 2021.&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-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%"&gt;Revolving Credit Facility&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On July 1, 2020, the Company also entered into a second amended and restated credit agreement (the "2020 Credit Agreement"), which amended and restated in its entirety the then-existing credit agreement originally entered into on April 1, 2014 and amended and restated on October 19, 2017 (the &#x201c;2017 Credit Agreement&#x201d;). The 2020 Credit Agreement provides for a $750&#160;million revolving credit facility with a term of five years (maturing July 1, 2025) and a letter of credit sublimit of $20&#160;million from a syndicate of financial institutions as lenders and issuing banks. A commitment fee of 0.25% to 0.30% per annum, depending on the Total Leverage Ratio (defined in 2020 Credit Agreement), is payable quarterly in arrears based on the unused revolving commitment.&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-align:justify;text-indent:13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Subject to certain conditions, on no more than five occasions, the Company may request increases in the amount of revolving commitments and/or the establishment of term commitments under the 2020 Credit Agreement. Borrowings under the 2020 Credit Agreement will bear interest at a floating rate which can be, at the Company&#x2019;s option, either (a) an alternate base rate plus an applicable rate ranging from 0.50% to 1.25% or (b) a LIBOR or EURIBOR (with a floor of 0.0%) for the specified interest period plus an applicable rate ranging from 1.50% to 2.25%, in each case depending on the Company's Total Leverage Ratio (as defined in the 2020 Credit Agreement). As LIBOR may not always be available to the Company as a base interest rate for borrowings under the credit facility, the 2020 Credit Agreement allows the Company and the administrative agent under the 2020 Credit Agreement to amend the 2020 Credit Agreement to replace LIBOR with one or more Secured Overnight Financing Rate (&#x201c;SOFR&#x201d;) based rates or another alternative benchmark rate. Funds drawn down on the revolving credit facility pursuant to the 2020 Credit Agreement may be used for working capital and other general corporate purposes of the Company and its restricted subsidiaries. The obligations under the 2020 Credit Agreement are guaranteed by each of the Company&#x2019;s current and future direct or indirect wholly owned restricted domestic subsidiaries, other than certain excluded subsidiaries, in each case subject to certain exceptions, pursuant to guarantee agreements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The 2020 Credit Agreement includes covenants, including ones that, subject to certain exceptions, restrict the ability of the Company and its subsidiaries to (i) merge and consolidate with other companies, (ii) incur indebtedness, (iii) grant liens or security interests on assets, (iv) make investments, acquisitions, loans or advances, (v) pay dividends and (vi) sell or otherwise transfer assets. During any period of time that the Company has obtained and maintained a corporate investment grade rating from at least two designated rating agencies and no Event of Default is continuing, the Company will not be subject to certain of these covenants such as restrictions on the ability to incur indebtedness (such period, a &#x201c;Covenant Suspension Period&#x201d;). As of December&#160;31, 2021, the Company is in a Covenant Suspension Period. The 2020 Credit Agreement also requires the Company to maintain a Total Leverage Ratio (as defined in the 2020 Credit Agreement) not exceeding 4.50 to 1.00. The Company was in compliance with the covenants in the 2020 Credit Agreement as of December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;As of December&#160;31, 2021, the Company had not drawn any amounts under this facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company had $3.8 million and $4.9 million of deferred debt issuance costs as of December&#160;31, 2021 and December&#160;31, 2020, respectively, in connection with the 2020 Credit Agreement. These amounts are included in deposits and other assets on the Company's consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;For the years ended December&#160;31, 2021, 2020 and 2019 the Company recognized interest expense as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;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:54.309%"/&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:13.081%"/&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:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.085%"/&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="15" 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;Year Ended&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&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 #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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&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;Interest on outstanding borrowings&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 #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:#cceeff;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;28,000&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;18,509&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;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:#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;Amortization of senior notes discount and issuance costs&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;2,327&#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;1,658&#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;874&#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;Commitment fees and other&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;1,989&#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,627&#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,741&#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 13pt;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;Total interest expense&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-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;32,316&#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;21,794&#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;2,615&#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;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;/table&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzYyNTA_3313d93c-e0fc-4dd2-914b-113ef55d71f4">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The table below presents the components of outstanding debt (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.380%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.283%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.484%"/&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 style="width:1.0%"/&gt;&lt;td style="width:16.023%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.484%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.026%"/&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;/tr&gt;&lt;tr&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;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:700;line-height:100%"&gt;December 31, 2021&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:700;line-height:100%"&gt;December 31, 2020&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:#cceeff;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;2.800% Senior Notes due July 15, 2030&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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 style="background-color:#cceeff;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:#cceeff;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;1,000,000&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;1,000,000&#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: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;/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;2020 Credit Agreement, due July 1, 2025&lt;/span&gt;&lt;/td&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;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="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;Total face amount of long-term debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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="2" style="background-color:#cceeff;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,000,000&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;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: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,000,000&#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: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;/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;Senior notes unamortized discount and issuance costs&lt;/span&gt;&lt;/td&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;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;(12,056)&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;(13,285)&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;/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;Long-term debt, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;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 style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;987,944&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;986,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i2492ba740efd457ca19a83d22838fea7_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzEtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjpkNjY5MzM0NzlhOGM0MTI3YTAxMWJhZDU1MTMxZDI3Nl81_af5c23ad-8ba0-4f74-b5fc-9a92a965a063"
      unitRef="number">0.02800</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ib735d504d9d244c38560a4228b980971_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzEtNi0xLTEtMjYyMjg_d74d84d0-f556-43f1-a8a0-35c495afaa47"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i03686c5e68e943768778b9983b879239_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzEtOC0xLTEtMjYyMjg_9a70e73d-3341-4739-b732-14a9991bdfcf"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ia748cda5bca947db8a30b63ccd9f151a_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzItNi0xLTEtMjYyMjg_34b480eb-d920-40ad-8f2e-10d37d1664bc"
      unitRef="usd">0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="iec5c3e434ef3417f8b08a9b80c929e53_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzItOC0xLTEtMjYyMjg_8a3c592a-965f-4847-a6a7-b9ebde0848b5"
      unitRef="usd">0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzMtNi0xLTEtMjYyMjg_53a29e9b-a547-48e4-99d9-76a3df4ee06e"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzMtOC0xLTEtMjYyMjg_b6d5f49e-2f13-4818-b8c6-c6ac2672faa8"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzQtNi0xLTEtMjYyMjg_ec7ce659-1148-41f0-a06b-1baf716bd185"
      unitRef="usd">12056000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzQtOC0xLTEtMjYyMjg_90a2d99f-b891-47ec-a94c-ae0c110f08e3"
      unitRef="usd">13285000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzUtNi0xLTEtMjYyMjg_afbb7538-f7b5-4d4f-9dea-18426cfccfda"
      unitRef="usd">987944000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzUtOC0xLTEtMjYyMjg_0607598c-39cc-40d3-afdf-f1ae4bd8a763"
      unitRef="usd">986715000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo4MWE5ZDc5MjY2MTY0YjliOWE4MzgwZjhkYTkzZTVkYi90YWJsZXJhbmdlOjgxYTlkNzkyNjYxNjRiOWI5YTgzODBmOGRhOTNlNWRiXzUtOC0xLTEtMjYyMjg_d4fde320-e69b-45b8-ae96-e1ab8f68f1b9"
      unitRef="usd">986715000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i2492ba740efd457ca19a83d22838fea7_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzE0Mg_16b05cd8-c047-474c-99c7-3469b9117139"
      unitRef="usd">1000000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i2492ba740efd457ca19a83d22838fea7_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzE3NQ_af5c23ad-8ba0-4f74-b5fc-9a92a965a063"
      unitRef="number">0.02800</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <csgp:DebtInstrumentParValueDiscountedRate
      contextRef="i2492ba740efd457ca19a83d22838fea7_I20200701"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzYyMA_8fd69bac-5034-4003-8f65-9dbf096d97a8"
      unitRef="number">0.99921</csgp:DebtInstrumentParValueDiscountedRate>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="idb057e2add064d7786b189637189c6e5_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1Xzg4NQ_1581a184-2ec1-4ec6-840a-42fbe53825e4"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="idb057e2add064d7786b189637189c6e5_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzEyNTA_44ca3d9e-77d3-4c17-b6e9-c05e985aebbe"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="if6d26213d2a742fdbb327076c9434f3f_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzIzNzc_f3f6283c-d15f-474d-b23f-e1a863b27962"
      unitRef="usd">750000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityExpirationPeriod
      contextRef="i991f49160c2a47cfb7826fcb3153d2e7_D20200701-20200701"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzI0MjE_399d3ddb-67ef-44c7-969b-d515b9aa345a">P5Y</us-gaap:LineOfCreditFacilityExpirationPeriod>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i48a8e6560d724c3f941209d94fb97d9e_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzI0ODM_e5e64cdb-b1f9-4064-9b08-b83f69245a04"
      unitRef="usd">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i9ef805ed53fa453d8cc3f5c6cc3af46d_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzI3NzA_3cddc599-7837-45c3-aa17-2c6097ede5ee"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="idbb1c2f4a5cb48a1848f1878465842ef_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzI3NzY_dcbef9b0-5250-4c68-9664-5ca66e421b88"
      unitRef="number">0.0030</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <csgp:NumberOfAllowableIncreaseRequests
      contextRef="ic25d55a4b13a482ba813cdebf7c16f09_I20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzcxNDY4MjU1ODY3OTg_53e55480-0d02-4abb-a13c-8d37cd60f0b5"
      unitRef="occasion">5</csgp:NumberOfAllowableIncreaseRequests>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i717011a4ebd74d97b7d4e4ca3c8f8bb8_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzMzNDQ_60d983e5-8673-49fa-8abd-b454ccf51cf2"
      unitRef="number">0.0050</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ib701148b58fe479f9153a8014315d92a_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzMzNTA_fac54d52-504c-4656-8d1d-b4f99ca5c165"
      unitRef="number">0.0125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i01acdafc004c45358a7e4f6bea0cd764_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzMzOTY_9132fa08-8deb-47bb-8ef4-d46e21229998"
      unitRef="number">0.000</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i767e4d530d7c46f780375576fe1acc2c_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzM0NzE_2aa53a93-7a9d-4b17-9edb-51aaa6f0a590"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ib61ef60ad2494ec8afefe5703c9c60f9_D20200701-20200701"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzM0Nzc_d41a6ba5-43d7-43f5-8ddb-1446b7da8124"
      unitRef="number">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <csgp:LineOfCreditFacilityCovenantComplianceTotalLeverageRatio
      contextRef="idf7b06f23e9a41519f43a5326f93f9ab_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzUzMzg_e1d02a45-ef26-4cca-82f4-a5b435c359a9"
      unitRef="number">4.50</csgp:LineOfCreditFacilityCovenantComplianceTotalLeverageRatio>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i8510c8a2c0bb45f298bfd54b2bfeca10_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzEwOTk1MTE2MzcwOTg_fe3ef89d-fc75-4fa8-96c7-007a469c0558"
      unitRef="usd">3800000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i05b3c4d64b934252a898855e87b565bf_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzEwOTk1MTE2MzQ3Njc_abfeea7a-8e59-4b82-8eac-dc95918e87f0"
      unitRef="usd">4900000</us-gaap:DeferredFinanceCostsNet>
    <csgp:ScheduleOfInterestExpenseTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90ZXh0cmVnaW9uOmQwYzk4ZDc5NTBhYTRlNzlhYWY3MDlmZWM2ZjViMDQ1XzYyNTE_087c7b8f-6478-4619-97f3-72b508413b3e">&lt;div style="margin-top:7pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;For the years ended December&#160;31, 2021, 2020 and 2019 the Company recognized interest expense as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;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:54.309%"/&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:13.081%"/&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:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.085%"/&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="15" 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;Year Ended&lt;br/&gt;December 31,&lt;/span&gt;&lt;/td&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 #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:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:700;line-height:100%"&gt;2019&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;Interest on outstanding borrowings&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 #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:#cceeff;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;28,000&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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;18,509&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;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:#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;Amortization of senior notes discount and issuance costs&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;2,327&#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;1,658&#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;874&#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;Commitment fees and other&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;1,989&#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,627&#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,741&#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 13pt;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;Total interest expense&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-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;32,316&#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;21,794&#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;2,615&#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;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;/table&gt;&lt;/div&gt;</csgp:ScheduleOfInterestExpenseTableTextBlock>
    <us-gaap:InterestExpenseDebt
      contextRef="i22ce37a5b52444349fd30edbbbc59df0_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzItMi0xLTEtMjYyMjg_e753ae9b-a90b-42b4-a922-1fcceb03103b"
      unitRef="usd">28000000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i5bba7e15acbd481a990dda81ad029d3b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzItNC0xLTEtMjYyMjg_320519a8-ed17-4f92-acce-f9d81b728890"
      unitRef="usd">18509000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i9ff07bc96bde46978c42dfee582babff_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzItNi0xLTEtMjYyMjg_574724e6-1205-4818-b17b-c0a3006a3222"
      unitRef="usd">0</us-gaap:InterestExpenseDebt>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzMtMi0xLTEtMjYyMjg_6546f223-48e2-48ab-94e9-64d678887414"
      unitRef="usd">2327000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzMtNC0xLTEtMjYyMjg_7f5781a4-3cb9-45c8-8da3-53b528399e16"
      unitRef="usd">1658000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzMtNi0xLTEtMjYyMjg_aad8ed71-ca73-4d5c-8140-e4fe69694b66"
      unitRef="usd">874000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:LineOfCreditFacilityCommitmentFeeAmount
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzQtMi0xLTEtMjYyMjg_38f75606-f618-4314-ae05-2223b6bdea7c"
      unitRef="usd">1989000</us-gaap:LineOfCreditFacilityCommitmentFeeAmount>
    <us-gaap:LineOfCreditFacilityCommitmentFeeAmount
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzQtNC0xLTEtMjYyMjg_d204c690-9fd7-4643-8696-46e87d12457b"
      unitRef="usd">1627000</us-gaap:LineOfCreditFacilityCommitmentFeeAmount>
    <us-gaap:LineOfCreditFacilityCommitmentFeeAmount
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzQtNi0xLTEtMjYyMjg_3a621caa-d617-4292-a130-cf9b7ee89e02"
      unitRef="usd">1741000</us-gaap:LineOfCreditFacilityCommitmentFeeAmount>
    <us-gaap:InterestExpenseDebt
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzUtMi0xLTEtMjYyMjg_4abfd18f-6ec5-4d3f-9fad-1c30861c404b"
      unitRef="usd">32316000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzUtNC0xLTEtMjYyMjg_ccdd56f2-24fd-4d6a-be70-56d3f56275bb"
      unitRef="usd">21794000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTYvZnJhZzpkMGM5OGQ3OTUwYWE0ZTc5YWFmNzA5ZmVjNmY1YjA0NS90YWJsZTo2OWMyN2FiZDI3NGQ0MWU3YmZiMjY3Njk0MGY1Y2Q1OS90YWJsZXJhbmdlOjY5YzI3YWJkMjc0ZDQxZTdiZmIyNjc2OTQwZjVjZDU5XzUtNi0xLTEtMjYyMjg_da46f282-0e27-45d6-8a65-cdb085893ba9"
      unitRef="usd">2615000</us-gaap:InterestExpenseDebt>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzYwMjc_350cdd9d-f08a-4b0d-9ff9-42dd66cdc9e9">INCOME TAXES &lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the provision for income taxes attributable to operations consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:61.748%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.794%"/&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.794%"/&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.796%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#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: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;&#160;&lt;/span&gt;&lt;/td&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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;61,290&#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,461&#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;53,039&#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 19pt;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;State&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;24,618&#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;11,726&#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;13,422&#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 19pt;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;Foreign&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,331&#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;195&#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,305&#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: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 current&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;87,239&#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 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;55,382&#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 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;67,766&#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:10pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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 #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;&#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:10pt;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 2px 19pt;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;Federal&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;22,859&#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;(9,599)&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;6,881&#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 19pt;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;State&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;8,467&#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;(926)&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;2,424&#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 19pt;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;Foreign&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;(7,161)&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;(1,005)&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;(1,085)&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;Total deferred&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;24,165&#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;(11,530)&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;8,220&#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: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 provision for income taxes&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;111,404&#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;43,852&#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;75,986&#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;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of deferred tax assets and liabilities consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:74.413%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.776%"/&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.778%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#160;&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;text-indent:9pt;vertical-align:bottom"&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 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;3,601&#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;3,698&#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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/div&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;3,913&#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;4,934&#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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock compensation&lt;/span&gt;&lt;/div&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;18,956&#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;15,289&#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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating losses&lt;/span&gt;&lt;/div&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;45,835&#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;38,498&#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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued reserve and other&lt;/span&gt;&lt;/div&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,134&#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;5,900&#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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&lt;/span&gt;&lt;/div&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;28,306&#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;34,758&#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="display:none"/&gt;&lt;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;text-indent:9pt;vertical-align:bottom"&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 credits&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;5,812&#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;6,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued transaction fees&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;13,334&#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 25.75pt;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;Total deferred tax assets, prior to valuation allowance&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;110,557&#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;122,470&#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 style="height:12pt"&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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/div&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;(5,694)&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;(11,170)&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 28pt;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;Total deferred tax assets, net of valuation allowance&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;104,863&#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 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;111,300&#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 style="height:12pt"&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: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 #000000;padding:0 1pt"/&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;Deferred tax liabilities:&lt;/span&gt;&lt;/td&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: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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred commission costs, net&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;(25,700)&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;(23,691)&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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease right-of-use assets&lt;/span&gt;&lt;/div&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;(22,574)&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;(27,168)&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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/div&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,569)&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;(2,384)&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;div style="text-indent:9pt"&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;/div&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;(21,827)&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;(13,078)&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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/div&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;(125,815)&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;(112,987)&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 25.75pt;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;Total deferred tax liabilities&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;(198,485)&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 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;(179,308)&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 style="height:12pt"&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: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 #000000;padding:0 1pt"/&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;Net deferred tax assets (liabilities)&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;(93,622)&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;(68,008)&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;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended December&#160;31, 2021 and 2020, the Company has not recognized deferred tax liabilities for temporary differences related to investments in foreign subsidiaries that were deemed permanently reinvested. Determination of the amount of unrecognized deferred income tax liabilities on these earnings is not practicable because such liability, if any, depends on certain circumstances existing if and when remittance occurs. A deferred tax liability will be recognized if and when the Company no longer plans to permanently reinvest these undistributed earnings.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and 2020, a valuation allowance has been established for certain deferred tax assets due to the uncertainty of realization. The valuation allowance as of December&#160;31, 2021 and 2020 includes an allowance for acquired net operating losses and foreign deferred tax assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company established the valuation allowance because it is more likely than not that a portion of the deferred tax asset for certain items will not be realized based on the weight of available evidence. A valuation allowance was established for the foreign deferred tax assets due to the cumulative loss in recent years in those jurisdictions. The Company has not had sufficient taxable income historically to utilize the foreign deferred tax assets, and it is uncertain whether the Company will generate sufficient taxable income in the future to utilize the deferred tax assets.&#160;The Company has established a valuation allowance for certain acquired net operating losses where Section 382 limitations will impact the ability of the Company to utilize the net operating losses before they expire.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s change in valuation allowance was a decrease of approximately $5.5 million for the year ended December&#160;31, 2021 and a decrease of approximately $2.4 million for the year ended December&#160;31, 2020. The decrease for the year ended December&#160;31, 2021 is primarily due to an international restructuring. The decrease for the year ended December&#160;31, 2020 is primarily due to the removal of the valuation allowance for the Washington, D.C. qualified high technology company tax credits which expired in 2020, partially offset by an increase in the valuation allowance for acquired net operating losses. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company had U.S. income before income taxes of approximately $409&#160;million,  $291 million and $403 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&#160;The Company had foreign losses before income taxes of approximately $5&#160;million, $20 million and $12 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s provision for income taxes resulted in effective tax rates that varied from the statutory federal income tax rate as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:61.748%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.794%"/&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.794%"/&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.796%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;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;2021&lt;/span&gt;&lt;/td&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: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;2020&lt;/span&gt;&lt;/td&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: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;2019&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;Expected federal income tax provision at statutory rate&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;84,833&#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;56,906&#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;82,099&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income taxes, net of federal benefit&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;21,012&#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;11,409&#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;14,884&#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;/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;/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;(Decrease) in valuation allowance&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,995)&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;(4,848)&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;(693)&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;/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;/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;Research credits&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;(13,070)&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;(14,322)&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;(12,188)&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;Excess tax benefit&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,933)&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;(21,038)&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;(15,282)&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;Tax reserves&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;(12,787)&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;4,762&#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;3,135&#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;Nondeductible compensation&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,369&#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;5,949&#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,777&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International restructuring&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;34,854&#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;Other adjustments&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,121&#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;5,034&#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;2,254&#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:bottom"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&lt;/span&gt;&lt;/div&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;111,404&#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;43,852&#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;75,986&#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;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has net operating loss carryforwards for international income tax purposes of approximately $41 million which do not expire. The Company has federal net operating loss carryforwards of approximately $151 million which begin to expire in&#160;2029, state net operating loss carryforwards with a tax value of approximately $5 million which begin to expire in 2029 and state income tax credit carryforwards with a tax value of approximately $6 million primarily relating to state research and development credits which do not expire. The Company realized a cash benefit relating to the use of its tax loss carryforwards of approximately $14 million, $5 million and $6 million in December&#160;31, 2021, 2020 and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the activity related to the Company&#x2019;s unrecognized tax benefits (in thousands):&lt;/span&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;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:75.017%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.672%"/&gt;&lt;td style="width:0.1%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2018&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;22,372&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Increase for current year tax positions&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;3,487&#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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase for prior year tax positions&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;440&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Expiration of the statute of limitation for assessment of taxes&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;(832)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2019&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;25,467&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Increase for current year tax positions&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;4,213&#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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase for prior year tax positions&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;452&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Expiration of the statute of limitation for assessment of taxes&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,259)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2020&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;28,873&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Increase for current year tax positions&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;3,024&#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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease for prior year tax positions&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;(5,353)&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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Decrease for settlements with taxing authorities&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;(9,924)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expiration of the statute of limitation for assessment of taxes&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,866)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2021&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;14,754&#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="padding:0 1pt"/&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;/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;/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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Approximately $15&#160;million and $29 million of the unrecognized tax benefits as of December&#160;31, 2021 and 2020, respectively, would favorably affect the annual effective tax rate if recognized in future periods. The increase for current year tax positions of $3&#160;million, decrease for prior year tax positions of $5 million and decrease for settlements with taxing authorities of $10&#160;million for the year ended December&#160;31, 2021 are primarily attributable to research credits. The decrease for expiration of the statute of limitation of $2 million for the year ended December&#160;31, 2021 is attributable to research credits and state apportionment reserves. The Company reversed $0.4&#160;million and recognized $0.4 million and $0.2 million for interest and penalties in its consolidated statement of operations for the years ended December&#160;31, 2021, 2020 and 2019 respectively.  The Company had liabilities of $0.6&#160;million, $1.0 million $0.6 million for interest and penalties in its consolidated balance sheets as of December&#160;31, 2021, 2020 and 2019, respectively. The Company does not anticipate the amount of the unrecognized tax benefits will change significantly over the next twelve months. &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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to taxation in the U.S. federal jurisdiction and various states and foreign jurisdictions. The Company&#x2019;s federal income tax returns for tax years 2013 through 2016 and 2018 through 2020 remain open to examination. The Company is under Internal Revenue Service examination for tax years 2013, 2014 and 2016 related to the research and development credit. Most of the Company&#x2019;s state income tax returns for tax years 2018 through 2020 remain open to examination. For states that have a four-year statute of limitations, the state income tax returns for tax years 2017 through 2020 remain open to examination. The Company&#x2019;s U.K. income tax return for tax year 2020 remains open to examination. The Company believes that an adequate provision has been made for any adjustments that may result from tax examinations.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzYwMTc_6745c3f9-3bec-4616-85f0-ee628561fd8d">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of the provision for income taxes attributable to operations consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:61.748%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.794%"/&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.794%"/&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.796%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#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: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;&#160;&lt;/span&gt;&lt;/td&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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;61,290&#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,461&#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;53,039&#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 19pt;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;State&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;24,618&#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;11,726&#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;13,422&#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 19pt;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;Foreign&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,331&#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;195&#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,305&#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: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 current&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;87,239&#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 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;55,382&#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 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;67,766&#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:10pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;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 #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;&#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:10pt;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 2px 19pt;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;Federal&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;22,859&#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;(9,599)&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;6,881&#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 19pt;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;State&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;8,467&#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;(926)&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;2,424&#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 19pt;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;Foreign&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;(7,161)&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;(1,005)&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;(1,085)&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;Total deferred&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;24,165&#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;(11,530)&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;8,220&#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: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 provision for income taxes&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;111,404&#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;43,852&#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;75,986&#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;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzMtMS0xLTEtMjYyMjg_5d64b4a0-adf2-4f89-b0d9-866974741168"
      unitRef="usd">61290000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzMtMy0xLTEtMjYyMjg_0f3f5f79-d1e0-42fa-986b-b713543b5dc1"
      unitRef="usd">43461000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzMtNS0xLTEtMjYyMjg_fe989865-733f-4cbd-ab04-bce83ef0df68"
      unitRef="usd">53039000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzQtMS0xLTEtMjYyMjg_38ec6eb8-5746-472c-a17b-5db51ee44dcd"
      unitRef="usd">24618000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzQtMy0xLTEtMjYyMjg_3cb4df11-86ff-4925-bb3a-153d84820d4c"
      unitRef="usd">11726000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzQtNS0xLTEtMjYyMjg_93f5014a-9cfc-428b-b3e8-b3a812274c67"
      unitRef="usd">13422000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzUtMS0xLTEtMjYyMjg_21bcda6e-ecaa-4a94-ba0f-f6f3f1aec3e6"
      unitRef="usd">1331000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzUtMy0xLTEtMjYyMjg_c574423d-975c-4964-b579-6224f7cc9f23"
      unitRef="usd">195000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzUtNS0xLTEtMjYyMjg_d0d4a0d6-c361-4d0d-aecb-2ca4f1a5d634"
      unitRef="usd">1305000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzYtMS0xLTEtMjYyMjg_ee7cd227-cc38-48ff-810a-a5b697a6b62d"
      unitRef="usd">87239000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzYtMy0xLTEtMjYyMjg_32d5b92b-0d08-4b4b-a301-8e3487178bde"
      unitRef="usd">55382000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzYtNS0xLTEtMjYyMjg_8b163172-3d41-48a0-a38f-041cd48bea20"
      unitRef="usd">67766000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzgtMS0xLTEtMjYyMjg_23b44c0e-8cb2-4c11-95e8-2a591e32a04f"
      unitRef="usd">22859000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzgtMy0xLTEtMjYyMjg_a28933cd-7f39-4e92-a7ce-87f031b73097"
      unitRef="usd">-9599000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzgtNS0xLTEtMjYyMjg_79a436bc-f851-499a-8c4d-fce87d4042d0"
      unitRef="usd">6881000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzktMS0xLTEtMjYyMjg_71326b6a-3007-4252-a492-7651a2694d34"
      unitRef="usd">8467000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzktMy0xLTEtMjYyMjg_565a275e-ff4f-4ea4-b472-2180f6113567"
      unitRef="usd">-926000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzktNS0xLTEtMjYyMjg_24576983-3df9-4d12-8f88-b95dedffcd0b"
      unitRef="usd">2424000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzEwLTEtMS0xLTI2MjI4_2c927bd3-22ef-43b2-9e11-6e956b479a15"
      unitRef="usd">-7161000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzEwLTMtMS0xLTI2MjI4_b34c2ed9-d036-471a-ad4b-eade9c66b4ed"
      unitRef="usd">-1005000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzEwLTUtMS0xLTI2MjI4_8170dce1-5477-4844-8909-095912878051"
      unitRef="usd">-1085000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzExLTEtMS0xLTI2MjI4_8a3bb3a2-13f1-46e0-be7d-bd96f5ae9d2f"
      unitRef="usd">24165000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzExLTMtMS0xLTI2MjI4_b2901a6c-377f-44c8-98c0-7bc1602eb34d"
      unitRef="usd">-11530000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzExLTUtMS0xLTI2MjI4_c23debe2-e73e-4246-a9b7-8639e2802881"
      unitRef="usd">8220000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzEyLTEtMS0xLTI2MjI4_5cb890eb-9988-4302-a549-d6750a898ced"
      unitRef="usd">111404000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzEyLTMtMS0xLTI2MjI4_b48b2c98-5dca-40e2-bc0a-bf2d84910943"
      unitRef="usd">43852000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTplOWFiN2EzM2IxZWY0Zjg5YmVjZjBiMTA5ZDM5MzlmYy90YWJsZXJhbmdlOmU5YWI3YTMzYjFlZjRmODliZWNmMGIxMDlkMzkzOWZjXzEyLTUtMS0xLTI2MjI4_0e594db6-edfe-4f42-9b1a-dcdc6d20f2e3"
      unitRef="usd">75986000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzYwMjU_d5767e9b-54ab-4a80-bf7a-9bc5fbf7c04f">&lt;div style="margin-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of deferred tax assets and liabilities consist of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:74.413%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.776%"/&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.778%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#160;&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;text-indent:9pt;vertical-align:bottom"&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 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;3,601&#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;3,698&#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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/div&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;3,913&#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;4,934&#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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock compensation&lt;/span&gt;&lt;/div&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;18,956&#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;15,289&#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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating losses&lt;/span&gt;&lt;/div&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;45,835&#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;38,498&#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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued reserve and other&lt;/span&gt;&lt;/div&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,134&#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;5,900&#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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&lt;/span&gt;&lt;/div&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;28,306&#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;34,758&#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="display:none"/&gt;&lt;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;text-indent:9pt;vertical-align:bottom"&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 credits&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;5,812&#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;6,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued transaction fees&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;13,334&#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 25.75pt;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;Total deferred tax assets, prior to valuation allowance&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;110,557&#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;122,470&#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 style="height:12pt"&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:bottom"&gt;&lt;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Valuation allowance&lt;/span&gt;&lt;/div&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;(5,694)&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;(11,170)&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 28pt;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;Total deferred tax assets, net of valuation allowance&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;104,863&#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 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;111,300&#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 style="height:12pt"&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: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 #000000;padding:0 1pt"/&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;Deferred tax liabilities:&lt;/span&gt;&lt;/td&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: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="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:10pt;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:#cceeff;padding:2px 1pt;text-align:left;text-indent:9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred commission costs, net&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;(25,700)&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;(23,691)&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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease right-of-use assets&lt;/span&gt;&lt;/div&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;(22,574)&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;(27,168)&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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses&lt;/span&gt;&lt;/div&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,569)&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;(2,384)&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;div style="text-indent:9pt"&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;/div&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;(21,827)&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;(13,078)&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;div style="text-indent:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/div&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;(125,815)&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;(112,987)&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 25.75pt;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;Total deferred tax liabilities&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;(198,485)&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 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;(179,308)&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 style="height:12pt"&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: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 #000000;padding:0 1pt"/&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;Net deferred tax assets (liabilities)&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;(93,622)&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;(68,008)&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;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzMtMS0xLTEtMjYyMjg_74be29ae-1f3d-4f38-8190-b982039a3b43"
      unitRef="usd">3601000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzMtMy0xLTEtMjYyMjg_c7459bf7-724f-4742-8624-7281196d231f"
      unitRef="usd">3698000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzQtMS0xLTEtMjYyMjg_67e696f7-b8f1-42ce-8c84-5945aa3e9b4e"
      unitRef="usd">3913000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzQtMy0xLTEtMjYyMjg_08694cf7-f18e-40fd-846e-61187dbb3e74"
      unitRef="usd">4934000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzUtMS0xLTEtMjYyMjg_e4640da0-eebe-46d6-84c4-ac8a438d19b3"
      unitRef="usd">18956000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzUtMy0xLTEtMjYyMjg_2de78934-c8f9-4528-9c1a-1a016da690ff"
      unitRef="usd">15289000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzYtMS0xLTEtMjYyMjg_1ad561c5-a65a-4ce8-95f8-3fa364f2a0de"
      unitRef="usd">45835000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzYtMy0xLTEtMjYyMjg_6011d572-524c-4c6a-8759-0ac5f8569f7b"
      unitRef="usd">38498000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzctMS0xLTEtMjYyMjg_d417973d-f9fa-4cc8-89c5-1cf22a4e4a40"
      unitRef="usd">4134000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzctMy0xLTEtMjYyMjg_166c8831-6776-428c-adfd-9c7063473c43"
      unitRef="usd">5900000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves>
    <csgp:DeferredTaxAssetsLeaseLiabilities
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzgtMS0xLTEtMjYyMjg_3eb0aab1-a4ec-46e5-ad45-9c51d4fa61b7"
      unitRef="usd">28306000</csgp:DeferredTaxAssetsLeaseLiabilities>
    <csgp:DeferredTaxAssetsLeaseLiabilities
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzgtMy0xLTEtMjYyMjg_1b0d9160-1e7c-4788-9ba5-6cd7e32ce9cc"
      unitRef="usd">34758000</csgp:DeferredTaxAssetsLeaseLiabilities>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzEyLTEtMS0xLTI2MjI4_a9fdea62-53d0-41f7-a35f-577f21a49d1d"
      unitRef="usd">5812000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwards
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzEyLTMtMS0xLTI2MjI4_a8065c39-13ac-44e1-86f7-7c6f84b300fa"
      unitRef="usd">6059000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwards>
    <csgp:DeferredTaxAssetsAccruedTransactionFees
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzEzLTEtMS0xLTI2MjI4_bab7e80b-a4a4-4229-957d-ceeba8a3f3c5"
      unitRef="usd">0</csgp:DeferredTaxAssetsAccruedTransactionFees>
    <csgp:DeferredTaxAssetsAccruedTransactionFees
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzEzLTMtMS0xLTI2MjI4_5f74b21e-0eaa-4f6d-b754-09d229c689fe"
      unitRef="usd">13334000</csgp:DeferredTaxAssetsAccruedTransactionFees>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzE0LTEtMS0xLTI2MjI4_f9a00a8e-1c90-41e2-a083-1840954e595e"
      unitRef="usd">110557000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzE0LTMtMS0xLTI2MjI4_61ce353c-1932-4e3e-9ac9-516a982eb378"
      unitRef="usd">122470000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzE2LTEtMS0xLTI2MjI4_10818470-63c6-40e4-a7aa-2ef0594f3ede"
      unitRef="usd">5694000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzE2LTMtMS0xLTI2MjI4_9d797304-36f2-4fd0-87b9-7fb63d2e3f50"
      unitRef="usd">11170000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzE3LTEtMS0xLTI2MjI4_77f65515-a532-49b4-8ba1-7e1a4c624051"
      unitRef="usd">104863000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzE3LTMtMS0xLTI2MjI4_eeda992b-b81b-4d04-949f-889bc32967cc"
      unitRef="usd">111300000</us-gaap:DeferredTaxAssetsNet>
    <csgp:DeferredTaxLiabilitiesAccruedCommissions
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIwLTEtMS0xLTI2MjI4_f965cd88-c20c-4e18-995e-a981716b2b9a"
      unitRef="usd">25700000</csgp:DeferredTaxLiabilitiesAccruedCommissions>
    <csgp:DeferredTaxLiabilitiesAccruedCommissions
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIwLTMtMS0xLTI2MjI4_feb8dac6-6985-415a-bd12-bbc571fe9337"
      unitRef="usd">23691000</csgp:DeferredTaxLiabilitiesAccruedCommissions>
    <csgp:DeferredTaxLiabilitiesLeaseRightofUseAssets
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIxLTEtMS0xLTI2MjI4_5081cfa6-276c-4761-9a2f-44eab8ca5d71"
      unitRef="usd">22574000</csgp:DeferredTaxLiabilitiesLeaseRightofUseAssets>
    <csgp:DeferredTaxLiabilitiesLeaseRightofUseAssets
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIxLTMtMS0xLTI2MjI4_747efc18-9d0b-489f-a967-3c1812c45cf1"
      unitRef="usd">27168000</csgp:DeferredTaxLiabilitiesLeaseRightofUseAssets>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIyLTEtMS0xLTI2MjI4_0abe6e9d-ed27-42ff-9897-24263259a9ef"
      unitRef="usd">2569000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPrepaidExpenses
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIyLTMtMS0xLTI2MjI4_7b2724b4-27c6-47c3-af7a-6363b7d9e34b"
      unitRef="usd">2384000</us-gaap:DeferredTaxLiabilitiesPrepaidExpenses>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIzLTEtMS0xLTI2MjI4_78a6aaea-875b-49f0-8c7f-4be894670702"
      unitRef="usd">21827000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzIzLTMtMS0xLTI2MjI4_f5d42731-7a8e-4003-a5c7-fd09d92d5d36"
      unitRef="usd">13078000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzI0LTEtMS0xLTI2MjI4_ed6a4d81-3e0a-4206-af08-2372ce51d88c"
      unitRef="usd">125815000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzI0LTMtMS0xLTI2MjI4_8794fcf9-d243-4502-9ca4-f85ecc941966"
      unitRef="usd">112987000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssets>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzI1LTEtMS0xLTI2MjI4_315843db-0715-4da3-a680-4226c23f394b"
      unitRef="usd">198485000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzI1LTMtMS0xLTI2MjI4_b34dc5de-9b4d-4045-99c3-ea045132d413"
      unitRef="usd">179308000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzI3LTEtMS0xLTI2MjI4_599ff235-0d48-46ef-a003-8ce38af23115"
      unitRef="usd">93622000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTowOTk5ZDlmZmYxOTM0ODBhYmJlYmY2MDYwNDA2YWRhNS90YWJsZXJhbmdlOjA5OTlkOWZmZjE5MzQ4MGFiYmViZjYwNjA0MDZhZGE1XzI3LTMtMS0xLTI2MjI4_1bfa3aa7-368e-420b-98c3-c2eb3c169649"
      unitRef="usd">68008000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzIwNDY_60a0c4ad-3029-4fa7-9c9d-2f85cdd0f48e"
      unitRef="usd">-5500000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzIwOTU_c23cd415-27d8-4ede-a132-0bcde1dfe141"
      unitRef="usd">-2400000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQzOTgwNDY1MTc2MDU_0504685b-17da-416e-b9d8-d4cdcca691e6"
      unitRef="usd">409000000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzI3NjA_89dab4e7-db80-46bb-b62e-063d63568c76"
      unitRef="usd">291000000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzI3NjQ_48d174ce-a639-4162-b384-c376922d5531"
      unitRef="usd">403000000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzE2NDkyNjc0NDgwNTk_37f67bd6-76a4-4f7d-a3c2-f73831bacfe4"
      unitRef="usd">5000000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzI4OTE_1b4de4cd-d0d8-47c4-be60-2da09792adf3"
      unitRef="usd">20000000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzI4OTU_708aea94-0b81-4790-b51a-187bb8c0e5ac"
      unitRef="usd">12000000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzYwMjM_05b091ab-ddea-4353-9e42-82a7881eeba1">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s provision for income taxes resulted in effective tax rates that varied from the statutory federal income tax rate as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&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:61.748%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.794%"/&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.794%"/&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.796%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;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;2021&lt;/span&gt;&lt;/td&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: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;2020&lt;/span&gt;&lt;/td&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: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;2019&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;Expected federal income tax provision at statutory rate&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;84,833&#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;56,906&#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;82,099&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income taxes, net of federal benefit&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;21,012&#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;11,409&#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;14,884&#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;/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;/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;(Decrease) in valuation allowance&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,995)&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;(4,848)&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;(693)&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;/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;/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;Research credits&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;(13,070)&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;(14,322)&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;(12,188)&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;Excess tax benefit&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,933)&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;(21,038)&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;(15,282)&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;Tax reserves&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;(12,787)&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;4,762&#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;3,135&#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;Nondeductible compensation&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,369&#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;5,949&#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,777&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International restructuring&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;34,854&#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;Other adjustments&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,121&#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;5,034&#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;2,254&#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:bottom"&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense&lt;/span&gt;&lt;/div&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;111,404&#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;43,852&#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;75,986&#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;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzItMS0xLTEtMjYyMjg_7424b0b6-d38f-4a3d-aa10-bfcb9ac83953"
      unitRef="usd">84833000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzItMy0xLTEtMjYyMjg_d32241c7-10ee-4f7b-935c-a99dd9a0283a"
      unitRef="usd">56906000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzItNS0xLTEtMjYyMjg_3d99814c-4453-475e-ae60-748f8860f40e"
      unitRef="usd">82099000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzMtMS0xLTEtMjYyMjg_6c0e7906-af07-46ae-806c-94acb8d38031"
      unitRef="usd">21012000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzMtMy0xLTEtMjYyMjg_0a3a7b99-a7c8-4efc-9fab-2ac43a397f72"
      unitRef="usd">11409000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzMtNS0xLTEtMjYyMjg_58ff7a25-1586-4474-8eb6-cc6d83dbfbf1"
      unitRef="usd">14884000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzYtMS0xLTEtMjYyMjg_d532fa15-7bf8-4176-aed6-2256cd283648"
      unitRef="usd">-4995000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzYtMy0xLTEtMjYyMjg_06ccf773-8aac-49ba-991a-7605a397cad7"
      unitRef="usd">-4848000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzYtNS0xLTEtMjYyMjg_e92bc48e-9ca7-4701-8f8b-a4b3dd19262a"
      unitRef="usd">-693000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzktMS0xLTEtMjYyMjg_02e5796c-7dc8-4349-861b-c7f18fd93e43"
      unitRef="usd">13070000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzktMy0xLTEtMjYyMjg_b0fc5333-e7ff-42f5-ac65-61de3e426d35"
      unitRef="usd">14322000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzktNS0xLTEtMjYyMjg_5827b07c-843a-45f4-a334-96d7a6fbe229"
      unitRef="usd">12188000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <csgp:EffectiveIncomeTaxRateReconciliationExcessTaxBenefitAmount
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEwLTEtMS0xLTI2MjI4_e9f6e425-37dd-43fa-a6f2-66323cefb038"
      unitRef="usd">10933000</csgp:EffectiveIncomeTaxRateReconciliationExcessTaxBenefitAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationExcessTaxBenefitAmount
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEwLTMtMS0xLTI2MjI4_f3d2b28b-1a97-4fb1-bf13-87758c06b955"
      unitRef="usd">21038000</csgp:EffectiveIncomeTaxRateReconciliationExcessTaxBenefitAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationExcessTaxBenefitAmount
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEwLTUtMS0xLTI2MjI4_db91f7bd-58ec-4976-8218-9a2c5c90b58a"
      unitRef="usd">15282000</csgp:EffectiveIncomeTaxRateReconciliationExcessTaxBenefitAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationChangeInTaxReservesAmount
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzExLTEtMS0xLTI2MjI4_6203c4f6-a4a4-45f7-bc19-15d76fe2751d"
      unitRef="usd">-12787000</csgp:EffectiveIncomeTaxRateReconciliationChangeInTaxReservesAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationChangeInTaxReservesAmount
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzExLTMtMS0xLTI2MjI4_3755d044-2dcc-4f0c-90f7-f6a0ce956621"
      unitRef="usd">4762000</csgp:EffectiveIncomeTaxRateReconciliationChangeInTaxReservesAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationChangeInTaxReservesAmount
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzExLTUtMS0xLTI2MjI4_0197d9d9-e584-4e5d-8aed-f59bf612a4c2"
      unitRef="usd">3135000</csgp:EffectiveIncomeTaxRateReconciliationChangeInTaxReservesAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationAmount
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEyLTEtMS0xLTI2MjI4_2abc1d09-57a0-4c94-91c6-b6a59b325d68"
      unitRef="usd">10369000</csgp:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationAmount
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEyLTMtMS0xLTI2MjI4_6b3a46fb-57a7-4fdc-a513-a7ab83e2050a"
      unitRef="usd">5949000</csgp:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationAmount>
    <csgp:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationAmount
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEyLTUtMS0xLTI2MjI4_55df54eb-152a-4a53-b173-6e9b97798794"
      unitRef="usd">1777000</csgp:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationAmount>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseRestructuringCharges
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEzLTEtMS0xLTM5MzAw_5886f8ab-3625-454d-a570-94bd8a9a65a8"
      unitRef="usd">34854000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseRestructuringCharges>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseRestructuringCharges
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEzLTMtMS0xLTM5MzAw_b791a4c9-8715-4dc0-9490-0576eb795c0a"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationNondeductibleExpenseRestructuringCharges>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseRestructuringCharges
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEzLTUtMS0xLTM5MzAw_0c7de2e8-c61d-4b1a-9664-8b51d9d81a32"
      unitRef="usd">0</us-gaap:IncomeTaxReconciliationNondeductibleExpenseRestructuringCharges>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEzLTEtMS0xLTI2MjI4_ba4ae377-63e8-4390-9fdf-1aaed6ec4125"
      unitRef="usd">2121000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEzLTMtMS0xLTI2MjI4_cb2258e7-ad15-4ed6-b4ae-8aabcabbf9c9"
      unitRef="usd">5034000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzEzLTUtMS0xLTI2MjI4_3f7c6cb4-0b9c-4a45-8d63-025ea84d6b0b"
      unitRef="usd">2254000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzE0LTEtMS0xLTI2MjI4_c2457797-3533-487d-8b71-2bafb07729ae"
      unitRef="usd">111404000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzE0LTMtMS0xLTI2MjI4_063ba3b9-efb4-4de5-a156-1819186317a5"
      unitRef="usd">43852000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTozNjcwYmY4OGFkZTQ0MDI1ODliOTU0ZWI0MzdkNzc4ZC90YWJsZXJhbmdlOjM2NzBiZjg4YWRlNDQwMjU4OWI5NTRlYjQzN2Q3NzhkXzE0LTUtMS0xLTI2MjI4_21773720-11fa-493b-8dde-2ff96e54be8f"
      unitRef="usd">75986000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i82f39c4d49604292a9337632010a1a37_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzM2Mjk_3ec63010-b7b3-44a3-8146-08af537db916"
      unitRef="usd">41000000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="id9ecf6f53030422b8d10519ad1209827_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzM3Mjg_81f705eb-f7ea-4277-b38f-4a0879d8478d"
      unitRef="usd">151000000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="id91b25c0efe743aca4246d7247e30eee_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzM4MzQ_59526908-15fb-4397-905e-9452c0a95dc9"
      unitRef="usd">5000000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="id91b25c0efe743aca4246d7247e30eee_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzM5NDI_79976913-8c41-45c3-afd9-dae9c44fe8f1"
      unitRef="usd">6000000</us-gaap:TaxCreditCarryforwardAmount>
    <csgp:RealizedTaxBenefitsRelatedToOperatingLossCarryforward
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQzOTgwNDY1MTc2MDc_6c24afcb-b389-49a6-8fbe-2ffb816aac1a"
      unitRef="usd">14000000</csgp:RealizedTaxBenefitsRelatedToOperatingLossCarryforward>
    <csgp:RealizedTaxBenefitsRelatedToOperatingLossCarryforward
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQxMjk_cfaa9a54-e960-4af8-a906-04a39076c38c"
      unitRef="usd">5000000</csgp:RealizedTaxBenefitsRelatedToOperatingLossCarryforward>
    <csgp:RealizedTaxBenefitsRelatedToOperatingLossCarryforward
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQxMzM_c453e71a-d5e4-4222-8e03-24bad99738c1"
      unitRef="usd">6000000</csgp:RealizedTaxBenefitsRelatedToOperatingLossCarryforward>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzYwMjE_62ce3c2d-7c34-4f9c-9c42-11ce9718d27e">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the activity related to the Company&#x2019;s unrecognized tax benefits (in thousands):&lt;/span&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;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:75.017%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.672%"/&gt;&lt;td style="width:0.1%"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2018&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;22,372&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Increase for current year tax positions&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;3,487&#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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase for prior year tax positions&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;440&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Expiration of the statute of limitation for assessment of taxes&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;(832)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2019&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;25,467&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Increase for current year tax positions&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;4,213&#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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increase for prior year tax positions&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;452&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Expiration of the statute of limitation for assessment of taxes&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,259)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2020&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;28,873&#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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Increase for current year tax positions&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;3,024&#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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease for prior year tax positions&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;(5,353)&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="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Decrease for settlements with taxing authorities&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;(9,924)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expiration of the statute of limitation for assessment of taxes&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,866)&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="padding:0 1pt"/&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unrecognized tax benefit as of December 31, 2021&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;14,754&#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="padding:0 1pt"/&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;/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;/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;/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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ic69c2b7c8eff4d2487b7bf224e3d4b4b_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzAtMS0xLTEtMjYyMjg_1f207549-2169-454e-88b1-b82e821cd93e"
      unitRef="usd">22372000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzEtMS0xLTEtMjYyMjg_aa24a3a4-14ca-4b5d-9abc-0836f387234d"
      unitRef="usd">3487000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzItMS0xLTEtMjYyMjg_b2a12935-81ef-4833-9432-9e6870c96725"
      unitRef="usd">440000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzMtMS0xLTEtMjYyMjg_a23dd29f-a0ac-4a77-9161-1ac7143e9a61"
      unitRef="usd">832000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzQtMS0xLTEtMjYyMjg_58fda8a5-cd04-494d-a327-79ce70092f74"
      unitRef="usd">25467000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzUtMS0xLTEtMjYyMjg_60a6efc7-8fdb-4e24-9fe8-060aba88225e"
      unitRef="usd">4213000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzYtMS0xLTEtMjYyMjg_f99cce15-7df0-4d36-925b-6588be30a1c6"
      unitRef="usd">452000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzctMS0xLTEtMjYyMjg_3eb526f0-20c2-4a71-9af6-abd67e66e4da"
      unitRef="usd">1259000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzgtMS0xLTEtMjYyMjg_6fb8dcab-9da4-428b-b19a-325fa205f4e8"
      unitRef="usd">28873000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzktMS0xLTEtMjYyMjg_20bba7a0-dd39-48db-bb0c-35d7a5393ecd"
      unitRef="usd">3024000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzEwLTEtMS0xLTI2MjI4_9310433c-f2c7-429b-8628-7ded4a863281"
      unitRef="usd">5353000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzExLTEtMS0xLTQwNTkz_58fa623b-0738-40c0-b353-96e2928424fa"
      unitRef="usd">9924000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzExLTEtMS0xLTI2MjI4_29698678-11b2-42e1-814b-dae4b0d80a88"
      unitRef="usd">1866000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90YWJsZTo3ZjcxYjEzYmU1NjY0ZjM0YjhiNzE0OTI5YTNhNmQ2OC90YWJsZXJhbmdlOjdmNzFiMTNiZTU2NjRmMzRiOGI3MTQ5MjlhM2E2ZDY4XzEyLTEtMS0xLTI2MjI4_1f42c08c-fe10-4ddd-9e9c-b2470b80f1d6"
      unitRef="usd">14754000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQzMDc_f8167591-ece3-4619-a5c9-9b7020442fa7"
      unitRef="usd">15000000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzEwOTk1MTE2MzM4NDA_c3ba8ced-1874-458e-afa1-a32643702d4d"
      unitRef="usd">29000000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ1MDc5OTc2NzQ1NDA4_eda9f17a-518a-4381-a968-124c09a91d7f"
      unitRef="usd">3000000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ1MzA_c3bdd8ba-ed7a-4526-8aaf-50e78368ca5f"
      unitRef="usd">5000000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ1MDc5OTc2NzQ3MTMx_ff9cbeff-8c5b-4d4d-97bc-04b7265234bf"
      unitRef="usd">10000000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities>
    <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ2NjI_95a16edd-0f76-40ac-8b27-916b71188c4a"
      unitRef="usd">2000000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQzOTgwNDY1MTc2MDk_44879794-239b-4a0c-8649-32f51e872ebf"
      unitRef="usd">-400000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ4MTE_12151120-36e4-4a47-a775-a67b569f0621"
      unitRef="usd">400000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ4MTU_601951ec-9186-4068-b8bb-5b92e393e09e"
      unitRef="usd">200000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzE2NDkyNjc0NDgxNTQ_b1fd85c6-cdec-4842-9f1b-3b75a0e02a67"
      unitRef="usd">600000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ5NzQ_c83432e1-4c12-416f-896f-4945b91642f5"
      unitRef="usd">1000000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="ia2f0127839294e4aad7da57a59dcefb4_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xOTkvZnJhZzphYzU5Mzg1YjdjZjU0MGMyYTJlNDk5NTY4MTRhZTgzZC90ZXh0cmVnaW9uOmFjNTkzODViN2NmNTQwYzJhMmU0OTk1NjgxNGFlODNkXzQ5Nzg_4b2a6bf0-f3b2-49e0-b88e-17843aa22029"
      unitRef="usd">600000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90ZXh0cmVnaW9uOjExMjc1MTFhN2I0MDQ4YTY4MDU2YmIwODc4OGUxYmFhXzM5Njc_4606240a-3be2-47c5-b1fb-a80a8e1f6b5f">COMMITMENTS AND CONTINGENCIES&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes our significant contractual obligations, including related payments due by period, as of December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:57.766%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.109%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.437%"/&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;/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:700;line-height:100%"&gt;Year Ending December 31, &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:700;line-height:100%"&gt;Operating lease obligations&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:700;line-height:100%"&gt;Long-term debt principal payments&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:700;line-height:100%"&gt;Long-term debt principal interest payments&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:#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;2022&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 #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:#cceeff;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;29,678&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;border-top:1pt solid #000;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 #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:#cceeff;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;28,000&#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: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;/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;2023&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;36,477&#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;28,000&#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;/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;2024&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;32,808&#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;&#x2014;&#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;28,000&#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;/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;2025&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;16,051&#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;28,000&#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;/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;2026&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,235&#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;28,000&#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;/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;Thereafter&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;11,901&#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;1,000,000&#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;112,000&#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;/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;Total&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 #000;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:#cceeff;border-bottom:3pt double #000;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;134,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;1,000,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;252,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases office facilities under various non-cancelable operating leases. The leases contain various renewal options. See Note 7 for further discussion of the Company's operating lease commitments. &lt;/span&gt;&lt;/div&gt;Currently, and from time to time, the Company is involved in litigation incidental to the conduct of its business.&#160;The Company records a provision for a liability when it is both probable that a liability has been incurred and the amount can be reasonably estimated.&#160;While it is reasonably possible that an unfavorable outcome may occur as a result of one or more of the Company&#x2019;s current litigation matters, at this time management has concluded that the resolutions of these matters are not expected to have a material effect on the Company's consolidated financial position, future results of operations or liquidity. Legal defense costs are expensed as incurred.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90ZXh0cmVnaW9uOjExMjc1MTFhN2I0MDQ4YTY4MDU2YmIwODc4OGUxYmFhXzM5NTk_1f420a0a-b29e-4168-b3da-292a14e68aef">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes our significant contractual obligations, including related payments due by period, as of December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:57.766%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.109%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.437%"/&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;/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:700;line-height:100%"&gt;Year Ending December 31, &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:700;line-height:100%"&gt;Operating lease obligations&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:700;line-height:100%"&gt;Long-term debt principal payments&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:700;line-height:100%"&gt;Long-term debt principal interest payments&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:#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;2022&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 #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:#cceeff;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;29,678&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;border-top:1pt solid #000;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 #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:#cceeff;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;28,000&#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: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;/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;2023&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;36,477&#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;28,000&#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;/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;2024&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;32,808&#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;&#x2014;&#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;28,000&#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;/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;2025&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;16,051&#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;28,000&#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;/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;2026&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,235&#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;28,000&#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;/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;Thereafter&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;11,901&#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;1,000,000&#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;112,000&#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;/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;Total&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 #000;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:#cceeff;border-bottom:3pt double #000;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;134,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;1,000,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;252,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90ZXh0cmVnaW9uOjExMjc1MTFhN2I0MDQ4YTY4MDU2YmIwODc4OGUxYmFhXzM5NTk_ba779d37-99d4-4581-853d-3bea15e3a305">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes our significant contractual obligations, including related payments due by period, as of December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:57.766%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.109%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.437%"/&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;/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:700;line-height:100%"&gt;Year Ending December 31, &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:700;line-height:100%"&gt;Operating lease obligations&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:700;line-height:100%"&gt;Long-term debt principal payments&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:700;line-height:100%"&gt;Long-term debt principal interest payments&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:#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;2022&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 #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:#cceeff;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;29,678&#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:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;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:#cceeff;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:#cceeff;border-top:1pt solid #000;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 #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:#cceeff;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;28,000&#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: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;/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;2023&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;36,477&#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;28,000&#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;/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;2024&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;32,808&#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;&#x2014;&#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;28,000&#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;/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;2025&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;16,051&#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;28,000&#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;/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;2026&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,235&#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;28,000&#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;/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;Thereafter&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;11,901&#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;1,000,000&#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;112,000&#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;/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;Total&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 #000;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:#cceeff;border-bottom:3pt double #000;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;134,150&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;1,000,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #000;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;252,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;/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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzEtMi0xLTEtMjYyMjg_75fcfcf3-c56b-4ddf-a513-4fbf66d447f8"
      unitRef="usd">29678000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzEtNC0xLTEtMjYyMjg_300cff82-cc92-459f-91ef-b4b9dd1445c2"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzEtNC0xLTEtMjYyMjg_348cfeb3-048e-417a-ac94-fff8b1af2e8c"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <csgp:LongTermDebtMaturityInterestPaymentsYearOne
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzEtNi0xLTEtMjYyMjg_188f9b54-7861-400a-9df1-6675417fd482"
      unitRef="usd">28000000</csgp:LongTermDebtMaturityInterestPaymentsYearOne>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzItMi0xLTEtMjYyMjg_97b894c5-5cda-49d4-9fea-bab68233a197"
      unitRef="usd">36477000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzItNC0xLTEtMjYyMjg_c0c66bdd-d547-4f65-a32d-235f344cd505"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <csgp:LongTermDebtMaturityInterestPaymentsYearTwo
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzItNi0xLTEtMjYyMjg_2cdc308c-a356-4cea-b840-523b16a91ce2"
      unitRef="usd">28000000</csgp:LongTermDebtMaturityInterestPaymentsYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzMtMi0xLTEtMjYyMjg_dfb4e6c2-6b13-483f-990f-a28477d38637"
      unitRef="usd">32808000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzMtNC0xLTEtMjYyMjg_35563542-4ac4-4ef1-bfdf-91b09779a40a"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <csgp:LongTermDebtMaturityInterestPaymentsYearThree
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzMtNi0xLTEtMjYyMjg_bc568fdf-73f6-4032-b151-282b6789a8d6"
      unitRef="usd">28000000</csgp:LongTermDebtMaturityInterestPaymentsYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzQtMi0xLTEtMjYyMjg_c8f18379-85ac-483a-8e85-0f1f397d8023"
      unitRef="usd">16051000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzQtNC0xLTEtMjYyMjg_84baf5f7-f1a8-4126-969d-1e0d9c7bb09f"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <csgp:LongTermDebtMaturityInterestPaymentsYearFour
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzQtNi0xLTEtMjYyMjg_b762f539-27a3-43b7-ac93-476735a21bc9"
      unitRef="usd">28000000</csgp:LongTermDebtMaturityInterestPaymentsYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzUtMi0xLTEtMjYyMjg_1f67f928-f830-4179-9e6c-f7b03a14abc1"
      unitRef="usd">7235000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzUtNC0xLTEtMjYyMjg_e8f1f4ef-57bf-4b59-a5d4-713796d3b8cb"
      unitRef="usd">0</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <csgp:LongTermDebtMaturityInterestPaymentsYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzUtNi0xLTEtMjYyMjg_8b7e1b08-799b-4a5d-b812-5ba671d89deb"
      unitRef="usd">28000000</csgp:LongTermDebtMaturityInterestPaymentsYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzYtMi0xLTEtMjYyMjg_ea6a1d95-69b9-4a05-afd9-5924cbbd336a"
      unitRef="usd">11901000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzYtNC0xLTEtMjYyMjg_b714c6b2-92e8-409f-8aa8-9bc139594211"
      unitRef="usd">1000000000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <csgp:LongTermDebtMaturityInterestPaymentsAfterYearFive
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzYtNi0xLTEtMjYyMjg_7417259f-5f01-4df6-a517-699dffaa96ce"
      unitRef="usd">112000000</csgp:LongTermDebtMaturityInterestPaymentsAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzctMi0xLTEtMjYyMjg_f2219cf5-5f5b-42a7-951d-4dcf67f310cd"
      unitRef="usd">134150000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LongTermDebt
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzctNC0xLTEtMjYyMjg_873f9c0a-3c37-43c9-af07-7324f5e085f2"
      unitRef="usd">1000000000</us-gaap:LongTermDebt>
    <csgp:LongTermDebtMaturityInterestPayments
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90YWJsZTplNTI1MDlhYjg2NjA0MTNkOWU1ZTA4MzA1ZDliZmMyNy90YWJsZXJhbmdlOmU1MjUwOWFiODY2MDQxM2Q5ZTVlMDgzMDVkOWJmYzI3XzctNi0xLTEtMjYyMjg_6e6b1ea1-b791-40fd-99ef-e1dfe887ad88"
      unitRef="usd">252000000</csgp:LongTermDebtMaturityInterestPayments>
    <us-gaap:LiabilityReserveEstimatePolicy
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDIvZnJhZzoxMTI3NTExYTdiNDA0OGE2ODA1NmJiMDg3ODhlMWJhYS90ZXh0cmVnaW9uOjExMjc1MTFhN2I0MDQ4YTY4MDU2YmIwODc4OGUxYmFhXzM5NTM_299f5f23-43fb-4ec8-990f-740163fda9f3">Currently, and from time to time, the Company is involved in litigation incidental to the conduct of its business.&#160;The Company records a provision for a liability when it is both probable that a liability has been incurred and the amount can be reasonably estimated.&#160;While it is reasonably possible that an unfavorable outcome may occur as a result of one or more of the Company&#x2019;s current litigation matters, at this time management has concluded that the resolutions of these matters are not expected to have a material effect on the Company's consolidated financial position, future results of operations or liquidity. Legal defense costs are expensed as incurred.</us-gaap:LiabilityReserveEstimatePolicy>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90ZXh0cmVnaW9uOjRmOTQyZGE0NzJiMTRiZDNiNTkwZGUzNDgwZDljNzc1XzEzNDA_ac5cf13d-3dad-4e88-98c1-7462773de359">SEGMENT REPORTING &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Segment Information&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company manages its business geographically in two operating segments, with the primary areas of measurement and decision-making being North America, which includes the U.S. and Canada, and International, which primarily includes Europe, Asia-Pacific and Latin America. Management relies on an internal management reporting process that provides revenue and operating segment net income before interest (expense) income, net, other income (expense), net, loss on debt extinguishment, income taxes, depreciation and amortization (&#x201c;EBITDA&#x201d;). Management believes that operating segment EBITDA is an appropriate measure for evaluating the operational performance of the Company&#x2019;s operating segments.&#160;EBITDA is used by management to internally measure operating and management performance and to evaluate the performance of the business. However, this measure should be considered in addition to, not as a substitute for or superior to, income from operations or other measures of financial performance prepared in accordance with GAAP.&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Summarized EBITDA information by operating segment consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt"&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.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.595%"/&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.600%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;/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;/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;/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;/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;/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;/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;/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;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;557,125&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;410,852&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;451,699&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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,856&#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;(4,706)&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;(6,987)&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 7.75pt 2px 1pt;text-align:justify;vertical-align: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 EBITDA&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #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;564,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 #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:3pt double #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;406,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 #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:3pt double #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;444,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The reconciliation of net income to EBITDA consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;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:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.595%"/&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.600%"/&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="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;2021&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;2020&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;2019&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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;292,564&#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;227,128&#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;314,963&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of acquired intangible assets in cost of revenues&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;28,809&#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;25,675&#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;21,357&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of acquired intangible assets in operating expenses&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;74,817&#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;62,457&#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;33,995&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and other amortization&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;29,018&#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;28,812&#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;25,813&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense (income), net&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;31,621&#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;17,395&#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;(16,742)&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:justify;vertical-align: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 (income) expense, net&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;(3,252)&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;827&#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;(10,660)&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax 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;111,404&#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;43,852&#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;75,986&#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 7.75pt 2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;EBITDA&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;564,981&#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;406,146&#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;444,712&#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;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Summarized information by operating segment consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt"&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;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;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#160;&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;North America&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;269,792&#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;123,634&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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,639&#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;2,691&#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 5.5pt;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;Total property and equipment, net&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;271,431&#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;126,325&#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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&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;&#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;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;&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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;2,145,846&#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;2,085,494&#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;International&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;175,169&#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;150,505&#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 5.5pt;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;Total goodwill&lt;/span&gt;&lt;/td&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;2,321,015&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;2,235,999&#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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;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:3pt double #000000;padding:0 1pt"/&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:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&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: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="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:10pt;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:#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;North America&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;6,976,752&#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;6,674,974&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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;280,119&#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;240,446&#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 5.5pt;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;Total assets&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;7,256,871&#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;6,915,420&#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="display:none"/&gt;&lt;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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&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;&#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;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;&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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;1,502,497&#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;1,496,894&#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;International&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;42,702&#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;43,167&#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 5.5pt;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;Total liabilities&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;1,545,199&#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;1,540,061&#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;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="display:none"/&gt;&lt;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;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90ZXh0cmVnaW9uOjRmOTQyZGE0NzJiMTRiZDNiNTkwZGUzNDgwZDljNzc1Xzg2_b6c62edf-d68c-4331-b3f1-f047d14924a2"
      unitRef="operating_segment">2</us-gaap:NumberOfOperatingSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90ZXh0cmVnaW9uOjRmOTQyZGE0NzJiMTRiZDNiNTkwZGUzNDgwZDljNzc1XzEzMzg_db8a9a7e-e5b3-416a-9143-1a7f7f5fec36">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Summarized EBITDA information by operating segment consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt"&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.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.595%"/&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.600%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;/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;/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;/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;/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;/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;/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;/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;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;557,125&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;410,852&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;451,699&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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,856&#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;(4,706)&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;(6,987)&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 7.75pt 2px 1pt;text-align:justify;vertical-align: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 EBITDA&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&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 #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;564,981&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 #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:3pt double #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;406,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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 #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:3pt double #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;444,712&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i3c78579a966b45a98e2cacd252260a5b_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzEyLTEtMS0xLTI2MjI4_a5991539-f9e1-44cf-b14b-cdceb1af6adc"
      unitRef="usd">557125000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="ie28fd82d32f64df59c3812199df6921d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzEyLTMtMS0xLTI2MjI4_db08518c-60a4-46b4-af2b-3a6ae7ba6523"
      unitRef="usd">410852000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="if7ece6aab4b5434a9b29c7c61a25264f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzEyLTUtMS0xLTI2MjI4_3ce09e94-08f7-4206-8e6b-87686f13a671"
      unitRef="usd">451699000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="id8f9daf9fa3c4ffb8bfb8ffc7b7eacaa_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzEzLTEtMS0xLTI2MjI4_aa0d8d35-1807-4aff-b2d5-f0438b2e5e4b"
      unitRef="usd">7856000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="ia3d64399d484436e8f342b667132484b_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzEzLTMtMS0xLTI2MjI4_c3599655-a94c-4590-86b5-9b3e8b9805a3"
      unitRef="usd">-4706000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="ia11baac3e52a4c8b8c38f8708621f170_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzEzLTUtMS0xLTI2MjI4_c7d62bd1-4cf5-4dfe-846f-bfa053026afd"
      unitRef="usd">-6987000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzE0LTEtMS0xLTI2MjI4_9dd5eddc-c002-4c1c-a2e6-38bad1005aa5"
      unitRef="usd">564981000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzE0LTEtMS0xLTI2MjI4_bd401f85-09d1-430a-b46c-556a1fb3d979"
      unitRef="usd">564981000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzE0LTMtMS0xLTI2MjI4_ae2ca028-ed8e-4da4-8f68-04882c4e9850"
      unitRef="usd">406146000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo3NTU5ZTE5MDEyZmU0Y2NmYjZkMmQ5MTcyYTUzNDljMS90YWJsZXJhbmdlOjc1NTllMTkwMTJmZTRjY2ZiNmQyZDkxNzJhNTM0OWMxXzE0LTUtMS0xLTI2MjI4_7728bc4c-fdf8-4b27-8add-8722a793cb9d"
      unitRef="usd">444712000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90ZXh0cmVnaW9uOjRmOTQyZGE0NzJiMTRiZDNiNTkwZGUzNDgwZDljNzc1XzEzMTY_c40a28be-b43e-4385-9134-0bcb1872c455">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The reconciliation of net income to EBITDA consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;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:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.595%"/&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.600%"/&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="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&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;2021&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;2020&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;2019&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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;292,564&#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;227,128&#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;314,963&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of acquired intangible assets in cost of revenues&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;28,809&#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;25,675&#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;21,357&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of acquired intangible assets in operating expenses&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;74,817&#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;62,457&#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;33,995&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Depreciation and other amortization&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;29,018&#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;28,812&#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;25,813&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense (income), net&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;31,621&#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;17,395&#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;(16,742)&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:justify;vertical-align: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 (income) expense, net&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;(3,252)&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;827&#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;(10,660)&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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax 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;111,404&#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;43,852&#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;75,986&#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 7.75pt 2px 1pt;text-align:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;EBITDA&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;564,981&#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;406,146&#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;444,712&#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;&lt;/div&gt;</us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i01a5c9c85f614c20a041dc0600890c0c_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzItMS0xLTEtMjYyMjg_37a92158-89b5-482c-90ae-5557e1bb3cb2"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzItMy0xLTEtMjYyMjg_7d36df53-e6d6-41ad-a0e2-59700d191f4a"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzItNS0xLTEtMjYyMjg_c45222b2-d593-42ba-8a98-eb87a7a0dc9f"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <csgp:AmortizationOfIntangibleAssetsCostofRevenue
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzMtMS0xLTEtMjYyMjg_469b63aa-aa54-49c3-9ea7-c7a73410b45a"
      unitRef="usd">28809000</csgp:AmortizationOfIntangibleAssetsCostofRevenue>
    <csgp:AmortizationOfIntangibleAssetsCostofRevenue
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzMtMy0xLTEtMjYyMjg_2de9c4d2-0be9-4584-a471-4ac4cc0591dd"
      unitRef="usd">25675000</csgp:AmortizationOfIntangibleAssetsCostofRevenue>
    <csgp:AmortizationOfIntangibleAssetsCostofRevenue
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzMtNS0xLTEtMjYyMjg_b1e755e3-acb9-4438-a64b-6d82b7d34dcc"
      unitRef="usd">21357000</csgp:AmortizationOfIntangibleAssetsCostofRevenue>
    <csgp:AmortizationOfIntangibleAssetsNetOfAdjustments
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzQtMS0xLTEtMjYyMjg_2159fc2b-4c35-4d79-91aa-b6e01859cc08"
      unitRef="usd">74817000</csgp:AmortizationOfIntangibleAssetsNetOfAdjustments>
    <csgp:AmortizationOfIntangibleAssetsNetOfAdjustments
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzQtMy0xLTEtMjYyMjg_891d58bf-7a9a-45fa-95d9-17cf1b8e5f4b"
      unitRef="usd">62457000</csgp:AmortizationOfIntangibleAssetsNetOfAdjustments>
    <csgp:AmortizationOfIntangibleAssetsNetOfAdjustments
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzQtNS0xLTEtMjYyMjg_a3577e63-08f6-40d0-b711-b4e2275e8686"
      unitRef="usd">33995000</csgp:AmortizationOfIntangibleAssetsNetOfAdjustments>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzUtMS0xLTEtMjYyMjg_b4af6562-c198-46a0-8d39-18226d5a033a"
      unitRef="usd">29018000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzUtMy0xLTEtMjYyMjg_9308eb87-1837-45d9-a346-6a5cd8dcb4f6"
      unitRef="usd">28812000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:OtherDepreciationAndAmortization
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzUtNS0xLTEtMjYyMjg_f641994e-e6c1-45d1-9287-78dccd063f22"
      unitRef="usd">25813000</us-gaap:OtherDepreciationAndAmortization>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzYtMS0xLTEtMjYyMjg_f39d267c-8e63-4725-974b-e19bdba46061"
      unitRef="usd">-31621000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzYtMy0xLTEtMjYyMjg_0d256f3e-02c9-4c52-8f02-e5619acbfc4d"
      unitRef="usd">-17395000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzYtNS0xLTEtMjYyMjg_d6838d1a-efab-49e8-a58a-acf4e226ed00"
      unitRef="usd">16742000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzctMS0xLTEtMjYyMjg_3c619cf4-41e6-4969-8156-5356b853a64a"
      unitRef="usd">3252000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzctMy0xLTEtMjYyMjg_b5798795-72ed-4a81-a80d-dde17e8dec71"
      unitRef="usd">-827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzctNS0xLTEtMjYyMjg_4bf20db1-8835-4625-9bbd-11c55b05060f"
      unitRef="usd">10660000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzgtMS0xLTEtMjYyMjg_530d73cb-9b38-4fb0-a14b-1837ac9d68ca"
      unitRef="usd">111404000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzgtMy0xLTEtMjYyMjg_a6aad4d4-8ee1-4bd7-9f00-71e3ffbf6ee5"
      unitRef="usd">43852000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzgtNS0xLTEtMjYyMjg_08d13a8e-b38c-4c0f-8e44-962adc8d626f"
      unitRef="usd">75986000</us-gaap:IncomeTaxExpenseBenefit>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzktMS0xLTEtMjYyMjg_9dd5eddc-c002-4c1c-a2e6-38bad1005aa5"
      unitRef="usd">564981000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzktMS0xLTEtMjYyMjg_bd401f85-09d1-430a-b46c-556a1fb3d979"
      unitRef="usd">564981000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzktMy0xLTEtMjYyMjg_00ab698b-a145-47dd-85c7-d69d08eba8a6"
      unitRef="usd">406146000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTpkMGNhOTA5MGZhMjU0YzRkYTU4MTQyZmMxMzYyNTBjYS90YWJsZXJhbmdlOmQwY2E5MDkwZmEyNTRjNGRhNTgxNDJmYzEzNjI1MGNhXzktNS0xLTEtMjYyMjg_07317a83-933b-494f-820c-d3062264e085"
      unitRef="usd">444712000</csgp:NetincomelossbeforeinterestandotherincomeexpenseincometaxesdepreciationandamortizationEBITDA>
    <us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90ZXh0cmVnaW9uOjRmOTQyZGE0NzJiMTRiZDNiNTkwZGUzNDgwZDljNzc1XzEzMTI_37be540d-0544-4118-8832-ea1622d2c18c">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Summarized information by operating segment consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt"&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:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&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.598%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:justify;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;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#160;&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;North America&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;269,792&#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;123,634&#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:justify;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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,639&#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;2,691&#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 5.5pt;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;Total property and equipment, net&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;271,431&#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;126,325&#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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&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;&#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;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;&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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;2,145,846&#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;2,085,494&#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;International&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;175,169&#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;150,505&#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 5.5pt;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;Total goodwill&lt;/span&gt;&lt;/td&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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;2,321,015&#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:10pt;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:10pt;font-weight:400;line-height:100%"&gt;2,235,999&#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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;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:3pt double #000000;padding:0 1pt"/&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:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&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: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="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:10pt;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:#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;North America&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;6,976,752&#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;6,674,974&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&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;280,119&#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;240,446&#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 5.5pt;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;Total assets&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;7,256,871&#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;6,915,420&#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="display:none"/&gt;&lt;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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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:3pt double #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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&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;&#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;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;&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;North America&lt;/span&gt;&lt;/td&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;1,502,497&#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;1,496,894&#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;International&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;42,702&#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;43,167&#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 5.5pt;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;Total liabilities&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;1,545,199&#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;1,540,061&#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;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="display:none"/&gt;&lt;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;</us-gaap:ReconciliationOfAssetsFromSegmentToConsolidatedTextBlock>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i03612d40c61545619aa98b8369b54c57_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzMtMS0xLTEtMjYyMjg_0dbcf51a-6690-4ecd-aa56-eab250e7e6c2"
      unitRef="usd">269792000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ic45b96c4bc494d8e99a317577086ba8d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzMtMy0xLTEtMjYyMjg_28e7ab17-dcd5-4e60-957d-34e2e3915988"
      unitRef="usd">123634000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i8a94eb88294344d395897d40ed0283a3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzQtMS0xLTEtMjYyMjg_b375c51e-e52e-42d6-8aa4-f7a1aaa3d7de"
      unitRef="usd">1639000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i79ee740764fa4fe0a17daa83a6903112_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzQtMy0xLTEtMjYyMjg_8b6c138f-1964-4562-b361-9f8844e9ee56"
      unitRef="usd">2691000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzUtMS0xLTEtMjYyMjg_96f10c57-e808-4aa8-b0f3-a6179eb7b50b"
      unitRef="usd">271431000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzUtMy0xLTEtMjYyMjg_2700230b-4ea9-4517-a07d-2ddf4a532a82"
      unitRef="usd">126325000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i03612d40c61545619aa98b8369b54c57_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzgtMS0xLTEtMjYyMjg_456729c1-434a-49e1-ac43-eb5f6fd1d034"
      unitRef="usd">2145846000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic45b96c4bc494d8e99a317577086ba8d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzgtMy0xLTEtMjYyMjg_c7cb504b-63a5-4cd8-84fc-162210849409"
      unitRef="usd">2085494000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i8a94eb88294344d395897d40ed0283a3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzktMS0xLTEtMjYyMjg_dd724dd0-478c-40f9-8585-a6f0d5f3c983"
      unitRef="usd">175169000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i79ee740764fa4fe0a17daa83a6903112_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzktMy0xLTEtMjYyMjg_87195c0e-8445-482b-b7fc-ab02e81764e4"
      unitRef="usd">150505000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzEwLTEtMS0xLTI2MjI4_01e8dc0e-f978-4610-bfa6-b9edc422f7d9"
      unitRef="usd">2321015000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzEwLTMtMS0xLTI2MjI4_1552ff2b-c967-48fd-a73b-056a4da26b1c"
      unitRef="usd">2235999000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="i03612d40c61545619aa98b8369b54c57_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzEzLTEtMS0xLTI2MjI4_c732a69a-224e-4886-a409-774e08a55d87"
      unitRef="usd">6976752000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic45b96c4bc494d8e99a317577086ba8d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzEzLTMtMS0xLTI2MjI4_4c8996f7-6bce-4e6f-b257-6d55c09023e7"
      unitRef="usd">6674974000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i8a94eb88294344d395897d40ed0283a3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzE0LTEtMS0xLTI2MjI4_b88d1b85-1b9c-434f-8090-da03a6bdedd5"
      unitRef="usd">280119000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i79ee740764fa4fe0a17daa83a6903112_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzE0LTMtMS0xLTI2MjI4_ff7803ab-8ab9-4961-a975-7ab2d4a1edbb"
      unitRef="usd">240446000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzE1LTEtMS0xLTI2MjI4_12ff0433-c822-4653-90fc-2b113e29a65f"
      unitRef="usd">7256871000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzE1LTMtMS0xLTI2MjI4_a834a6f8-23a5-4f09-9f4d-9d110373bf6b"
      unitRef="usd">6915420000</us-gaap:Assets>
    <us-gaap:Liabilities
      contextRef="i03612d40c61545619aa98b8369b54c57_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzI0LTEtMS0xLTI2MjI4_a39448b9-5369-420d-b497-f94ae1715507"
      unitRef="usd">1502497000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ic45b96c4bc494d8e99a317577086ba8d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzI0LTMtMS0xLTI2MjI4_14129c04-59a1-491c-96fe-97a51df6193f"
      unitRef="usd">1496894000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i8a94eb88294344d395897d40ed0283a3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzI1LTEtMS0xLTI2MjI4_9c311a9a-ee8b-4123-b0fa-3a987411da30"
      unitRef="usd">42702000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i79ee740764fa4fe0a17daa83a6903112_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzI1LTMtMS0xLTI2MjI4_bdc06b9e-eed2-429a-ae0d-3fd7c504fe18"
      unitRef="usd">43167000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzI2LTEtMS0xLTI2MjI4_b0061e2f-5358-4ba4-9851-34597d7e6208"
      unitRef="usd">1545199000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMDgvZnJhZzo0Zjk0MmRhNDcyYjE0YmQzYjU5MGRlMzQ4MGQ5Yzc3NS90YWJsZTo0ZDA0OTVmYzg0NjE0ZmM4ODM2MzVkOWU1MWZlN2UxNC90YWJsZXJhbmdlOjRkMDQ5NWZjODQ2MTRmYzg4MzYzNWQ5ZTUxZmU3ZTE0XzI2LTMtMS0xLTI2MjI4_f2b95b14-2973-4403-8cce-dc7a0e6f8920"
      unitRef="usd">1540061000</us-gaap:Liabilities>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE2Mjc_b604c72e-0e52-4520-bebb-1176510ccd2c">STOCKHOLDER'S EQUITY &lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has 2 million shares of preferred stock, $0.01 par value, authorized for issuance as of December&#160;31, 2021. The Board of Directors may issue the preferred stock from time to time as shares of one or more classes or series.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Common 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="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has 1.2&#160;billion shares of common stock, $0.01 par value, authorized for issuance. Dividends may be declared and paid on the common stock, subject in all cases to the rights and preferences of the holders of preferred stock and authorization by the Board of Directors. In the event of liquidation or winding up of the Company and after the payment of all preferential amounts required to be paid to the holders of any series of preferred stock, any remaining funds shall be distributed among the holders of the issued and outstanding common stock.  &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Common Stock Split&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At the Company's 2021 Annual Meeting of Stockholders in June 2021, upon the recommendation of the Company's Board of Directors, the Company's stockholders approved the adoption of the Company's Fourth Amended and Restated Certificate of Incorporation, which increased the total number of shares of common stock that the Company is authorized to issue from 60&#160;million to 1.2&#160;billion. The Fourth Amended and Restated Certificate of Incorporation became effective on June 7, 2021. On June 7, 2021, the Board of Directors approved a ten-for-one stock split of the Company's outstanding shares of common stock to be effected in the form of a stock dividend. Each stockholder of record on June 17, 2021 received a dividend of nine additional shares of common stock for each then-held share, distributed after close of trading on June 25, 2021. The par value of the Company's common stock remained $0.01 per share. All applicable share and per-share amounts in the consolidated financial statements and the accompanying notes have been retroactively adjusted to reflect the impact of the stock split.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Equity 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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 28, 2020, the Company completed a public equity offering of 26.3 million shares of common stock for $65.50 per share. Net proceeds from the public equity offering were approximately $1.7&#160;billion, after deducting approximately $35&#160;million of underwriting fees, commissions and other stock issuance costs. The Company intends to use the net proceeds from the sale of the securities to fund all or a portion of the costs of any strategic acquisitions it pursues in the future, to finance the growth of its business and for working capital and other general corporate purposes. General corporate purposes may include additions to working capital, capital expenditures, repayment of debt, investments in the Company&#x2019;s subsidiaries and the repurchase, redemption or retirement of securities, including the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzQ3_60fb11d6-e0b9-48b0-9b0d-4923cbe99825"
      unitRef="shares">2000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzg1_ce409ce8-04f7-4d1c-893e-7d8e1ab3c423"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE2NDkyNjc0NDMzMzM_ceb070d8-c313-4245-9568-cce65b86e73e"
      unitRef="shares">1200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzMxNA_3d725946-2fac-4a49-b8b5-a8d262948dc2"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i3074fff990284b04bab4cc7dc293f626_I20210606"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE3NTkyMTg2MDQ2NDk2_8973cc51-bc72-43cc-a5dd-e8e5e19b4d39"
      unitRef="shares">60000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i4fb5bf9f54f54004bd9c77e1216bad2a_I20210607"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE3NTkyMTg2MDQ2NTAz_e14877c3-72c9-49b2-8480-9a3f63aa3036"
      unitRef="shares">1200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE3NTkyMTg2MDQ2NjU0_424a34dd-0985-4362-9c20-254b056b009b"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <csgp:DividendsCommonStockShares
      contextRef="i1a040aac644e44a68e083b4ae31d6dfc_I20210617"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE3NTkyMTg2MDQ2ODQ1_759d955d-804f-4dfb-bde3-85be86b14ea3"
      unitRef="shares">9</csgp:DividendsCommonStockShares>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i9f48bea27aef485e97a63535b922f7fb_I20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzE3NTkyMTg2MDQ3MDE1_0b703ec3-64e3-42b9-8e84-05fd43998b0f"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="i610dd229dbe943278496202f9e998a97_D20200528-20200528"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzg5NQ_c9c57bf3-484a-4d1f-93af-7d0b4557313c"
      unitRef="shares">26300000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i78443f33c13a4e1ca56f341d12a44f9c_I20200528"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzkyNQ_fd24b3e7-d307-447c-bfae-cb748ce60552"
      unitRef="usdPerShare">65.50</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="i610dd229dbe943278496202f9e998a97_D20200528-20200528"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzEwMDM_eb892902-a261-48c4-b029-d5b0e7ba52da"
      unitRef="usd">1700000000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="i610dd229dbe943278496202f9e998a97_D20200528-20200528"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTEvZnJhZzoxNWU3N2YwNjIyNDE0ZDNlYTIzYTNiOWY2YmY1ZDhmYi90ZXh0cmVnaW9uOjE1ZTc3ZjA2MjI0MTRkM2VhMjNhM2I5ZjZiZjVkOGZiXzEwMzc_cf9edab0-426a-4e76-aa09-04c0698f142d"
      unitRef="usd">35000000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90ZXh0cmVnaW9uOmJiN2M2Nzg0NDIyNzQ5MWRhNGY4NzVlM2E5YzdkZjUyXzM4MQ_1e243435-6971-4c5c-97ee-421c695b4b78">NET INCOME PER SHARE&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the calculation of basic and diluted net income per share (in thousands except per share data):&lt;/span&gt;&lt;/div&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:62.296%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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:10.614%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#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: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;&#160;&lt;/span&gt;&lt;/td&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;292,564&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;227,128&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;314,963&#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:bottom"&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;border-top:3pt double #000;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:3pt double #000;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:3pt double #000;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:bottom"&gt;&lt;div style="padding-left:27pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic net income per share &#x2014; weighted-average outstanding shares&lt;/span&gt;&lt;/div&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:9pt;font-weight:400;line-height:100%"&gt;392,210&#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;380,726&#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;363,096&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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="background-color:#ffffff;padding:0 1pt"/&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:bottom"&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, restricted stock awards and restricted stock units&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:9pt;font-weight:400;line-height:100%"&gt;1,950&#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;2,540&#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;3,205&#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:bottom"&gt;&lt;div style="padding-left:27pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted net income per share &#x2014; weighted-average outstanding shares&lt;/span&gt;&lt;/div&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:9pt;font-weight:400;line-height:100%"&gt;394,160&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:9pt;font-weight:400;line-height:100%"&gt;383,266&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:9pt;font-weight:400;line-height:100%"&gt;366,301&#160;&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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;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:3pt double #000000;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:3pt double #000000;padding:0 1pt"/&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;Net income per share &#x2014; basic&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 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;0.75&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;0.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;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;0.87&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share &#x2014; diluted&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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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: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: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:9pt;font-weight:400;line-height:100%"&gt;0.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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;border-top: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: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: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:9pt;font-weight:400;line-height:100%"&gt;0.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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;border-top: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: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: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:9pt;font-weight:400;line-height:100%"&gt;0.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the shares underlying the unvested performance-based restricted stock and anti-dilutive securities excluded from the basic and diluted earnings per share calculations (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.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&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.630%"/&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.631%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance-based restricted stock awards&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="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;415&#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;526&#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;600&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Anti-dilutive securities&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="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;373&#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;540&#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;425&#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;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90ZXh0cmVnaW9uOmJiN2M2Nzg0NDIyNzQ5MWRhNGY4NzVlM2E5YzdkZjUyXzM2MQ_ea3f4f94-c3b0-4e41-bf60-fa99a4565568">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the calculation of basic and diluted net income per share (in thousands except per share data):&lt;/span&gt;&lt;/div&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:62.296%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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:10.614%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;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;&#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: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;&#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: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;&#160;&lt;/span&gt;&lt;/td&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;292,564&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;227,128&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;314,963&#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:bottom"&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;border-top:3pt double #000;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:3pt double #000;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:3pt double #000;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:bottom"&gt;&lt;div style="padding-left:27pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for basic net income per share &#x2014; weighted-average outstanding shares&lt;/span&gt;&lt;/div&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:9pt;font-weight:400;line-height:100%"&gt;392,210&#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;380,726&#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;363,096&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Effect of dilutive securities:&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="background-color:#ffffff;padding:0 1pt"/&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:bottom"&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, restricted stock awards and restricted stock units&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:9pt;font-weight:400;line-height:100%"&gt;1,950&#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;2,540&#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;3,205&#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:bottom"&gt;&lt;div style="padding-left:27pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted net income per share &#x2014; weighted-average outstanding shares&lt;/span&gt;&lt;/div&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:9pt;font-weight:400;line-height:100%"&gt;394,160&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:9pt;font-weight:400;line-height:100%"&gt;383,266&#160;&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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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:9pt;font-weight:400;line-height:100%"&gt;366,301&#160;&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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;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:3pt double #000000;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:3pt double #000000;padding:0 1pt"/&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;Net income per share &#x2014; basic&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 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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;0.75&#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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;0.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;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:9pt;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:9pt;font-weight:400;line-height:100%"&gt;0.87&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income per share &#x2014; diluted&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 style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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: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: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:9pt;font-weight:400;line-height:100%"&gt;0.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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;border-top: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: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: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:9pt;font-weight:400;line-height:100%"&gt;0.59&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top: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;border-top: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: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: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:9pt;font-weight:400;line-height:100%"&gt;0.86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzMtMS0xLTEtMjYyMjg_32c4032a-efbf-4253-ae54-7222c71a8cc7"
      unitRef="usd">292564000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzMtMy0xLTEtMjYyMjg_7d36df53-e6d6-41ad-a0e2-59700d191f4a"
      unitRef="usd">227128000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzMtNS0xLTEtMjYyMjg_c45222b2-d593-42ba-8a98-eb87a7a0dc9f"
      unitRef="usd">314963000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtMS0xLTEtMjYyMjg_90ca48f0-28b9-49bd-91d1-9ae9b56d238e"
      unitRef="shares">392210000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtMy0xLTEtMjYyMjg_9625b64f-232c-4148-b0ea-463dc2aec922"
      unitRef="shares">380726000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtMy0xLTEtMjYyMjg_b6fcad44-790c-45b4-ab87-53a89c2fac86"
      unitRef="shares">380726000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtNS0xLTEtMjYyMjg_ecf0f5d9-422e-4860-8b49-c20258bea939"
      unitRef="shares">363096000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzctMS0xLTEtMjYyMjg_ed8a63be-8824-40f6-8632-68abcefa0cb2"
      unitRef="shares">1950000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzctMy0xLTEtMjYyMjg_62aef53a-54cb-40c5-889e-75b96d12a496"
      unitRef="shares">2540000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzctNS0xLTEtMjYyMjg_b9a21b01-1635-4395-a02d-0e4a6954a57b"
      unitRef="shares">3205000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzgtMS0xLTEtMjYyMjg_29824a87-6fbf-48c0-9103-d6fd37a53467"
      unitRef="shares">394160000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzgtMy0xLTEtMjYyMjg_0029b135-c73f-4703-affb-b73e67a81d49"
      unitRef="shares">383266000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzgtNS0xLTEtMjYyMjg_252b196a-ec75-4fdd-8441-2f11e63e0934"
      unitRef="shares">366301000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzEwLTEtMS0xLTI2MjI4_15e8d380-7678-46d5-89ed-8db174a85446"
      unitRef="usdPerShare">0.75</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzEwLTMtMS0xLTI2MjI4_87092b54-a696-4b68-88db-c8eb229f08f8"
      unitRef="usdPerShare">0.60</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzEwLTUtMS0xLTI2MjI4_07fe442c-54eb-4ab2-b25b-f501a18e621a"
      unitRef="usdPerShare">0.87</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzExLTEtMS0xLTI2MjI4_06759927-12e2-479a-8dfd-15e188aab7f3"
      unitRef="usdPerShare">0.74</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzExLTMtMS0xLTI2MjI4_771589a0-7b69-4638-8ae2-e7c095c2475b"
      unitRef="usdPerShare">0.59</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzExLTUtMS0xLTI2MjI4_57e2bfeb-cace-4313-b85c-8557872edf26"
      unitRef="usdPerShare">0.86</us-gaap:EarningsPerShareDiluted>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90ZXh0cmVnaW9uOmJiN2M2Nzg0NDIyNzQ5MWRhNGY4NzVlM2E5YzdkZjUyXzQzOTgwNDY1MTE4MDc_f159a9a8-a7de-4b2c-aa83-3abbe8c4dc8e"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90ZXh0cmVnaW9uOmJiN2M2Nzg0NDIyNzQ5MWRhNGY4NzVlM2E5YzdkZjUyXzM2Mg_34928c91-190a-4117-b9e1-d8b8b25791f8">The following table summarizes the shares underlying the unvested performance-based restricted stock and anti-dilutive securities excluded from the basic and diluted earnings per share calculations (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:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&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.630%"/&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.631%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Performance-based restricted stock awards&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="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;415&#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;526&#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;600&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Anti-dilutive securities&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="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;373&#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;540&#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;425&#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;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i85ac3bc7d4ff4b05b912cee712e2d1dc_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTowZjgyMTZiNjE4NzU0NGQ0OWQ5MDJhNGM0NGYxZDkyMC90YWJsZXJhbmdlOjBmODIxNmI2MTg3NTQ0ZDQ5ZDkwMmE0YzQ0ZjFkOTIwXzItMS0xLTEtMjYyMjg_0d2a1377-a48b-4f8f-b50a-f2c496fde97c"
      unitRef="shares">415000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i9f3c0a4348e145b2b38f980052c89ad6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTowZjgyMTZiNjE4NzU0NGQ0OWQ5MDJhNGM0NGYxZDkyMC90YWJsZXJhbmdlOjBmODIxNmI2MTg3NTQ0ZDQ5ZDkwMmE0YzQ0ZjFkOTIwXzItMy0xLTEtMjYyMjg_3f93a823-585b-4b62-a7bd-e70326628a9f"
      unitRef="shares">526000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="if8770be0af8c4ddb979f56b41eb4e3ff_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTowZjgyMTZiNjE4NzU0NGQ0OWQ5MDJhNGM0NGYxZDkyMC90YWJsZXJhbmdlOjBmODIxNmI2MTg3NTQ0ZDQ5ZDkwMmE0YzQ0ZjFkOTIwXzItNS0xLTEtMjYyMjg_0dd45adf-c840-452b-b8f3-db924b87da53"
      unitRef="shares">600000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTowZjgyMTZiNjE4NzU0NGQ0OWQ5MDJhNGM0NGYxZDkyMC90YWJsZXJhbmdlOjBmODIxNmI2MTg3NTQ0ZDQ5ZDkwMmE0YzQ0ZjFkOTIwXzMtMS0xLTEtMjYyMjg_fb3cf343-1737-435c-9a22-8e336b2ea902"
      unitRef="shares">373000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTowZjgyMTZiNjE4NzU0NGQ0OWQ5MDJhNGM0NGYxZDkyMC90YWJsZXJhbmdlOjBmODIxNmI2MTg3NTQ0ZDQ5ZDkwMmE0YzQ0ZjFkOTIwXzMtMy0xLTEtMjYyMjg_ba0a4cb6-e1fd-417d-bae8-00e3a81685ef"
      unitRef="shares">540000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTowZjgyMTZiNjE4NzU0NGQ0OWQ5MDJhNGM0NGYxZDkyMC90YWJsZXJhbmdlOjBmODIxNmI2MTg3NTQ0ZDQ5ZDkwMmE0YzQ0ZjFkOTIwXzMtNS0xLTEtMjYyMjg_78fe3229-69dd-4398-83a1-7734979595a7"
      unitRef="shares">425000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90ZXh0cmVnaW9uOmJiN2M2Nzg0NDIyNzQ5MWRhNGY4NzVlM2E5YzdkZjUyXzQzOTgwNDY1MTE4MTA_1fa80bce-3151-4bfc-8ed4-6b3fdf72f46b"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTcvZnJhZzpjMTZiNzViODUzYTU0YWEwYjRmNWQ1YWUyNDAyODgwMC90ZXh0cmVnaW9uOmMxNmI3NWI4NTNhNTRhYTBiNGY1ZDVhZTI0MDI4ODAwXzEz_275c448a-d300-4d08-a64f-4dc2c3641089">EMPLOYEE BENEFIT PLANS Stock Incentive Plans&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In April 2007, the Company&#x2019;s Board of Directors adopted the CoStar Group, Inc. 2007 Stock Incentive Plan (as amended, the &#x201c;2007 Plan&#x201d;), subject to stockholder approval, which was obtained on June 7, 2007.&#160;In April 2016, the Company&#x2019;s Board of Directors adopted the CoStar Group, Inc. 2016 Stock Incentive Plan (as amended, the &#x201c;2016 Plan&#x201d;), subject to stockholder approval, which was obtained on June 9, 2016.&#160;All shares of common stock that were authorized for issuance under the 2007 Plan that, as of June&#160;9, 2016, remained available for issuance under the 2007 Plan (excluding shares subject to outstanding awards) were rolled into the 2016 Plan and, as of that date, no shares of common stock were available for new awards under the 2007 Plan.&#160;The 2007 Plan continues to govern vested unexercised stock options issued prior to June&#160;9, 2016. Upon the occurrence of a Change of Control, as defined in the 2007 Plan, all outstanding unexercisable options under the 2007 Plan immediately become exercisable.&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2016 Plan provides for the grant of stock options, restricted stock, restricted stock units and stock appreciation rights to officers, directors and employees of the Company and its subsidiaries. Stock options granted under the 2016 Plan may be non-qualified or may qualify as incentive stock options. Except in limited circumstances related to a merger or other acquisition, the exercise price for an option may not be less than the fair market value of the Company&#x2019;s common stock on the date of grant.&#160;The vesting period for each grant of options, restricted stock, restricted stock units and stock appreciation rights under the 2016 Plan is determined by the Board of Directors or a committee thereof and is generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzI1NTE_4fe186a8-a196-4906-892d-2b72f963d495"&gt;three&lt;/span&gt; to four years, subject to minimum vesting periods for restricted stock and restricted stock units of at least one year. In some cases, vesting of awards under the 2016 Plan may be based on performance conditions. The Company initially reserved approximately 22.7&#160;million shares of common stock for issuance under the 2016 Plan, which included shares of common stock that were authorized and remained available for issuance under the 2007 Plan as of June&#160;9, 2016. Any shares of common stock subject to (a) outstanding awards under the 2007 Plan as of June&#160;9, 2016 or (b) outstanding awards under the 2016 Plan after June&#160;9, 2016, that cease for any reason to be subject to such awards (other than by reason of exercise or settlement of the awards to the extent they are exercised or settled in vested and nonforfeitable shares) will become authorized and unissued under the 2016 Plan. Pursuant to the terms of the 2016 Plan, all amounts reserved or issued under the plan were adjusted to reflect the Company&#x2019;s ten-for-one common stock split. Unless terminated sooner, the 2016 Plan will terminate in June 2026, but will continue to govern unexercised and unexpired awards issued under the 2016 Plan prior to that date.&#160;Approximately 15.3 million shares were available for future grant under the 2016 Plan as of December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021, there was approximately $91 million of unrecognized compensation cost related to stock incentive plans, net of estimated forfeitures, which the Company expects to recognize over a weighted-average-period of 2.3 years. The income tax benefit realized from stock-based compensation was $2&#160;million, $20&#160;million and $17&#160;million for the years ended December&#160;31, 2021, 2020 and 2019, respectively. See Notes 2 and 12 for further discussion of stock-based compensation expense and income taxes, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Stock 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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Option activity was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:justify"&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:31.158%"/&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:14.882%"/&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.776%"/&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.216%"/&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.393%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Range of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contract&lt;br/&gt;Life (in 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:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in thousands)&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2018&lt;/span&gt;&lt;/div&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;3,442,760&#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="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.67 - $34.21&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: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;21.23&#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="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;7.03&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;43,418&#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 19pt;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;Granted&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;483,000&#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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$39.82&lt;/span&gt;&lt;/div&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;39.82&#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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;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;Exercised&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,169,180)&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.45 - $34.21&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;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;15.95&#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:0 1pt"/&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;/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;/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;Outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/div&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;2,756,580&#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 colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.45 - $39.82&lt;/span&gt;&lt;/div&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;26.72&#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="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;6.98&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;91,262&#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 19pt;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;Granted&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;341,000&#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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$66.65&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;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;66.65&#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:0 1pt"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Exercised&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;(953,130)&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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$19.37 - $39.82&lt;/span&gt;&lt;/div&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;22.95&#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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;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;Canceled or expired&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;(121,350)&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$34.21 - $66.65&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;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;44.31&#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:0 1pt"/&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;/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;Outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/div&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;2,023,100&#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 colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $66.65&lt;/span&gt;&lt;/div&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;34.18&#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="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;6.99&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;117,846&#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 19pt;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;Granted&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;159,000&#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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$91.98&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;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;91.98&#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:0 1pt"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Exercised&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;(206,000)&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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$20.49 - $39.82&lt;/span&gt;&lt;/div&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;30.78&#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="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;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;Outstanding at December&#160;31, 2021&lt;/span&gt;&lt;/div&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;1,976,100&#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="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $91.98&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;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;39.18&#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: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;6.24&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;80,800&#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 style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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;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="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;/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;Exercisable at December 31, 2019&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,476,200&#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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $34.21&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;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;21.10&#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: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;5.84&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;57,180&#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;Exercisable at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,228,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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 colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $39.82&lt;/span&gt;&lt;/div&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;24.68&#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="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;6.18&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;83,204&#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;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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,473,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top: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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $66.65&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;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;29.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="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;5.59&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;72,905&#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;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 style="margin-bottom:1pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate intrinsic value of outstanding options is calculated as the difference between (i) the closing price of the common stock at the end of the period and (ii) the exercise price of the underlying awards, multiplied by the number of outstanding options as of the end of the period that had an exercise price less than the closing price on that date. The aggregate intrinsic value of options exercised, determined as of the exercise date, was approximately $11 million, $49 million and $40 million for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimated the fair value of each option granted on the date of grant using the Black-Scholes option-pricing model, using the assumptions in the following table:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:justify"&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:62.296%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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:10.614%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;Dividend yield&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;0&#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;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 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;0&#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;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 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;0&#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;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;/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;Expected volatility&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;30&#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;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 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;26&#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;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 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;27&#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;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;/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;Risk-free interest rate&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;0.56&#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;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 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.45&#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;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 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.46&#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;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;/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;Expected life (in years)&lt;/span&gt;&lt;/td&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: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="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: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="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:10pt;font-weight:400;line-height:100%"&gt;5&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average grant date fair value&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 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;25.09&#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;17.21&#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;11.52&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected dividend yield is determined based on the Company's past cash dividend history and anticipated future cash dividend payments. The Company has never declared nor paid any dividends on its common stock and does not anticipate paying any dividends on its common stock during the foreseeable future, but intends to retain any earnings for future growth of its business. Expected volatility is calculated based on historical volatility of the daily closing price of the Company's common stock over a period consistent with the expected life of the options granted. The risk-free interest rate is based on the U.S. Treasury rate with terms similar to the expected life of the options granted. The expected life for the options is determined based on multiple factors, including historical employee behavior patterns of exercising options and post-employment termination behavior as well as expected future employee option exercise patterns. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes information regarding options outstanding at December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:31.648%"/&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.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.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.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.626%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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;&#160;Options Outstanding&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:10pt;font-weight:700;line-height:100%"&gt;&#160;Options Exercisable&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Range of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;&#160;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="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;Weighted-Average Remaining Contractual Life (in years)&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Average&#160;&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise&lt;/span&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Price&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;/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: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;$10.22 - $24.24&lt;/span&gt;&lt;/div&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;762,420&#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="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;4.49&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;18.94&#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;762,420&#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.94&#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: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;$24.25 - $48.82&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;742,680&#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="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;6.65&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;37.12&#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;607,000&#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;36.52&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$48.83 - $69.93&lt;/span&gt;&lt;/div&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;312,000&#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: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;8.10&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;66.65&#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;104,000&#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;66.65&#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: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;$69.94 - $91.98&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,000&#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="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;9.13&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;91.98&#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;/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="background-color:#cceeff;padding:0 1pt"/&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 #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,976,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;6.24&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;39.18&#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;border-bottom:3pt double #000000;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,473,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;29.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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Restricted Stock Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Compensation Committee of the Board of Directors of the Company historically approved grants of restricted common stock to employees and directors of the Company that vest over a specific service period and to executive officers that vest based on the achievement of certain performance conditions, primarily, the achievement of a three-year cumulative revenue goal established at the grant date. The grant of  awards with performance conditions supports the Company&#x2019;s goal of aligning executive incentives with long-term stockholder value and ensuring that executive officers have a continuing stake in the long-term success of the Company. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The vesting of restricted common stock is subject to continuing employment requirements. Certain performance-based restricted common stock awards are also subject to a market condition such that the actual number of shares that vest at the end of the respective three-year period is determined based on the Company&#x2019;s achievement of performance goals and an established Company specific TSR factor relative to the Russell 1000 Index over the same three-year performance period. At the end of the three-year performance period, if the performance condition is achieved at or above the pre-established threshold, the number of shares earned is further adjusted by a TSR payout percentage, which ranges between 80% and 120%, based on the Company&#x2019;s TSR performance relative to that of the Russell 1000 Index over the respective three-year period. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimates the fair value of its equity awards with both a performance and market condition on the date of grant using a Monte-Carlo simulation valuation model. This pricing model uses multiple simulations to evaluate the probability of achieving the market condition to calculate the fair value of the awards. Expense is only recorded for awards that are expected to vest, net of estimated forfeitures. The assumptions used to estimate the fair value of awards with both a performance and a market condition were as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&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:61.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.776%"/&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.776%"/&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.779%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;Dividend yield&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;0&#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;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 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;0&#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;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 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;0&#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;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;/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;Expected volatility&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;42&#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;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 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;27&#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;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 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;27&#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;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;/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;Risk-free interest rate&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;0.20&#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;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 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.43&#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;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 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.45&#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;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;/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;Expected life (in years)&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;3&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:10pt;font-weight:400;line-height:100%"&gt;3&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:10pt;font-weight:400;line-height:100%"&gt;3&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average grant date fair value&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 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;99.73&#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;72.69&#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;42.96&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expected dividend yield is determined based on the Company's past cash dividend history and anticipated future cash dividend payments. The Company has never declared nor paid any dividends on its common stock and does not anticipate paying any dividends on its common stock during the foreseeable future, but intends to retain any earnings for future growth of its business. Expected volatility is calculated based on historical volatility of the daily closing price of the common stock of the companies within the Russell 1000 Index over a period consistent with the expected life of the awards. The risk-free interest &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;rate is based on the U.S. Treasury rate with terms similar to the expected life of the awards. The expected life is consistent with the performance measurement period of the awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, the Company determined that it was probable that at least the minimum performance goals associated with restricted stock awards with performance and market conditions granted during 2021, 2020 and 2019 would be met by their forfeiture dates. The Company recorded a total of approximately $8 million, $4 million and $8 million of stock-based compensation expense related to restricted stock awards with performance and market conditions for the years ended December&#160;31, 2021, 2020 and 2019, respectively. As of December&#160;31, 2021, the Company expects to record an aggregate stock-based compensation expense of approximately $11 million for restricted stock awards with performance and market conditions over the periods 2022, 2023 and 2024.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents unvested restricted stock awards activity for the year ended December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div&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:45.829%"/&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.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.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.624%"/&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="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;Restricted Stock Awards &#x2014; without Market Condition&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:10pt;font-weight:700;line-height:100%"&gt;Restricted Stock Awards &#x2014; with Market Condition&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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;Unvested restricted stock awards at December 31, 2020&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;2,028,640&#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;52.17&#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;724,800&#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;43.83&#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 19pt;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;Granted&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;813,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;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;80.64&#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;192,000&#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;99.73&#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 19pt;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;Vested&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;(894,291)&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.77&#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;(182,619)&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;38.02&#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 19pt;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;Canceled&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;(165,440)&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;64.07&#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;(16,581)&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;38.02&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock awards at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&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;1,782,306&#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;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;66.74&#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;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;717,600&#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;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;67.40&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Restricted Stock Units&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents unvested restricted stock units activity for the year ended December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div&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:72.730%"/&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.621%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Units&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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;Unvested restricted stock units at December 31, 2020&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;8,640&#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;61.90&#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 19pt;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;Granted&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;6,855&#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;78.00&#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 19pt;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;Vested&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,650)&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;56.99&#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 19pt;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;Canceled&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;(360)&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;73.79&#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;Unvested restricted stock units at December 31, 2021&lt;/span&gt;&lt;/td&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;12,485&#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;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;71.44&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Management Stock Purchase Plan&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Board of Directors adopted the Company&#x2019;s Management Stock Purchase Plan in December 2017 with the intent of providing selected key employees of the Company and its subsidiaries, including the Company's executive officers, the opportunity to defer a portion of their cash incentive compensation and to align management and stockholder interests through awards of DSUs under the MSPP and awards of Matching RSUs issued under the Company 2016 Plan. Under this plan participants are permitted to elect to defer up to 100% of their annual incentive bonus or commissions earned during the year by submitting an irrevocable election in accordance with Section 409A of the Internal Revenue Code, as amended. On the date the incentive bonus or commission would otherwise be paid in cash (typically during the following calendar year), the Company awards the participant DSUs representing the number of shares of common stock with an aggregate fair market value on that date equal to the amount of compensation elected to be deferred under the MSPP. On the same date the DSUs are awarded, the participant receives a grant of Matching RSUs covering the number of shares of common stock equal up to 100% of the DSUs granted. The expense related to the DSUs is recognized on a straight-line basis during the period that the related incentive bonus &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;or commission is earned. The Company granted 40,960 and 33,840 DSUs during the years 2021 and 2020, respectively. The expense related to the Matching RSUs is recognized over the four-year vesting period following the grant date. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables presents the Matching RSU activity for the year ended December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div&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:72.730%"/&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.621%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of Matching RSU&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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;Unvested MSPP restricted stock units at December 31, 2020&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;93,170&#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;53.12&#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 19pt;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;Granted&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;40,960&#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;83.79&#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 2px 19pt;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;Canceled&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;(18,040)&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;61.36&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested MSPP restricted stock units at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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;116,090&#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;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;62.66&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Employee 401(k) Plan&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-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains a 401(k) Plan (the &#x201c;401(k)&#x201d;) as a defined contribution retirement plan for all eligible employees.&#160;The 401(k) provides for tax-deferred contributions of employees&#x2019; salaries, limited to a maximum annual amount as established by the IRS.&#160;In addition to the traditional 401(k), effective January 1, 2015, eligible employees have the option of making an after-tax contribution to a Roth 401(k) plan or a combination of both. In 2021, 2020 and 2019, the Company matched 100% of employee contributions up to a maximum of 4% of total compensation. Amounts contributed to the 401(k) by the Company to match employee contributions for the years ended December&#160;31, 2021, 2020 and 2019 were approximately $18 million, $15 million and $12 million, respectively. The Company had no administrative expenses in connection with the 401(k) plan for the years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Employee Pension Plan&lt;/span&gt;&lt;/div&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:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company maintains a Group Personal Pension Plan (the &#x201c;Plan&#x201d;) for all eligible employees in the Company&#x2019;s U.K. offices. The Plan is a defined contribution plan. Employees are eligible to contribute a portion of their salaries, subject to a maximum annual amount as established by Her Majesty's Revenue and Customs. In 2021, 2020 and 2019, the Company's matching contribution was based on the percentage contributed by the employee, up to a maximum of 6% of total compensation. Amounts contributed to the Plan by the Company to match employee contributions for the years ended December&#160;31, 2021, 2020 and 2019, were approximately $0.9 million, $0.9 million and $0.6 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Registered Retirement Savings Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of January 1, 2015, the Company introduced a registered retirement savings plan (&#x201c;RRSP&#x201d;) for all eligible employees in the Company&#x2019;s Canadian offices. In 2021, 2020 and 2019, the Company matched 100% of employee contributions up to a maximum of 4% of total compensation. Amounts contributed to the RRSP by the Company to match employee contributions were approximately $0.1 million for the years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;As of August 1, 2006, the Company introduced an Employee Stock Purchase Plan (&#x201c;ESPP&#x201d;), pursuant to which eligible employees participating in the plan authorize the Company to withhold specified amounts from the employees&#x2019; compensation and use the withheld amounts to purchase shares of the Company's common stock at 90% of the market price. Participating employees are able to purchase common stock under this plan during each offering period. An offering period begins the second Saturday before each of the Company&#x2019;s regular pay dates and ends on each of the Company&#x2019;s regular pay dates.&#160;On June 2, 2021, the Company&#x2019;s stockholders approved an amendment to the ESPP to increase the number of shares available for purchase under the ESPP by 1&#160;million shares. The Company registered the issuance of these additional shares under the ESPP pursuant to the registration statement filed on July 28, 2021. There were 1,233,863 and 385,910 shares available for purchase under the ESPP as of December&#160;31, 2021 and 2020, respectively, and approximately 152,047 and 129,930 shares of the Company&#x2019;s common stock were purchased under the ESPP during 2021 and 2020, respectively.</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i72c8600749ac40c89facb1ca328cb576_I20160609"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzY1NA_53651382-1320-4416-b8a7-2d71be67e09d"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="id121ea590a954bca89233782ce1ddf07_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzI1NTc_c74b1317-d986-4092-85af-388af9c3dd69">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="if7f8d1883a4e448f94b6c3a879797eb2_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzI2NTY_92344460-a469-46ed-a1e1-10daf788ba9d">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i5a03306ad6d3495891199a65d9aa377e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzEzMTk0MTM5NTQ5NzQ5_8ce6425b-0ad6-48f3-ac86-a80b4a37df40"
      unitRef="shares">22700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzY1OTcwNjk3ODI5NTI_37459901-20be-40d6-b324-c9a45011e987"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i5a03306ad6d3495891199a65d9aa377e_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzM2ODY_7f12e1e0-f542-4cde-8a37-7e9e96a19c96"
      unitRef="shares">15300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzM3OTA_5209f93d-f5b6-41e9-895d-fda29b7d32f9"
      unitRef="usd">91000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzM5NjQ_54b7d4f2-669d-4c5d-8496-fbdb8f69cc8c">P2Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQzOTgwNDY1MjQxMzE_a157dc26-acfd-472f-ac25-499fb4cb3600"
      unitRef="usd">2000000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzE2NDkyNjc0NTQ2Nzc_272cd64a-fca1-491b-9028-1104bed5fe4a"
      unitRef="usd">20000000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQwNDU_53346bfa-446a-42db-9fc5-f988a5f038a2"
      unitRef="usd">17000000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzE2_7cb0de8c-9745-47b9-8f88-cbd8ec3ec05c">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Option activity was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:justify"&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:31.158%"/&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:14.882%"/&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.776%"/&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.216%"/&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.393%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Range of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="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:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contract&lt;br/&gt;Life (in 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:10pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in thousands)&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2018&lt;/span&gt;&lt;/div&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;3,442,760&#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="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.67 - $34.21&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: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;21.23&#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="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;7.03&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;43,418&#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 19pt;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;Granted&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;483,000&#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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$39.82&lt;/span&gt;&lt;/div&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;39.82&#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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;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;Exercised&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,169,180)&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.45 - $34.21&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;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;15.95&#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:0 1pt"/&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;/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;/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;Outstanding at December&#160;31, 2019&lt;/span&gt;&lt;/div&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;2,756,580&#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 colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$5.45 - $39.82&lt;/span&gt;&lt;/div&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;26.72&#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="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;6.98&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;91,262&#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 19pt;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;Granted&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;341,000&#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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$66.65&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;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;66.65&#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:0 1pt"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Exercised&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;(953,130)&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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$19.37 - $39.82&lt;/span&gt;&lt;/div&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;22.95&#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="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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;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;Canceled or expired&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;(121,350)&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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$34.21 - $66.65&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;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;44.31&#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:0 1pt"/&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;/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;Outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/div&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;2,023,100&#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 colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $66.65&lt;/span&gt;&lt;/div&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;34.18&#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="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;6.99&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;117,846&#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 19pt;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;Granted&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;159,000&#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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$91.98&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;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;91.98&#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:0 1pt"/&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;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;Exercised&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;(206,000)&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="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$20.49 - $39.82&lt;/span&gt;&lt;/div&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;30.78&#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="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;/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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;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;Outstanding at December&#160;31, 2021&lt;/span&gt;&lt;/div&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;1,976,100&#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="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $91.98&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;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;39.18&#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: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;6.24&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;80,800&#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 style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #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;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="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;/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;Exercisable at December 31, 2019&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,476,200&#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:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $34.21&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;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;21.10&#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: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;5.84&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;57,180&#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;Exercisable at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #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,228,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #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 colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $39.82&lt;/span&gt;&lt;/div&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;24.68&#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="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;6.18&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;83,204&#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;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #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,473,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top: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 colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:right"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$10.22 - $66.65&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;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;29.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="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;5.59&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;72,905&#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;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 style="margin-bottom:1pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="id84b31afaacc422895867b569f12e1a2_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzUtMS0xLTEtMjYyMjg_edc663f2-de4c-4798-ae13-b318f073ea22"
      unitRef="shares">3442760</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="i9386d77e0dd04ce4ab0c51fe98e2814c_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEtMy0xLTEtNDc1MzUvdGV4dHJlZ2lvbjo5NzgzZjJjMDIyOGE0MGY5OGQwNzVmZTY1NTg5ZmMzOV8xMzE5NDEzOTUzMzMzNQ_e288a34d-c792-4293-8a41-be9f5c24765e"
      unitRef="usdPerShare">3.67</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="i3e460b162bc64ad09912860bec3373b0_I20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEtMy0xLTEtNDc1MzUvdGV4dHJlZ2lvbjo5NzgzZjJjMDIyOGE0MGY5OGQwNzVmZTY1NTg5ZmMzOV8xMzE5NDEzOTUzMzM0NA_b132a9e4-f312-4446-840c-a50750b37bd8"
      unitRef="usdPerShare">34.21</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="id84b31afaacc422895867b569f12e1a2_I20181231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzUtNS0xLTEtMjYyMjg_7ab96140-4fe3-4c11-8b81-9d76f9fdc528"
      unitRef="usdPerShare">21.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i0a83f6056bb04bb0baa9ae64f9d55621_D20180101-20181231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzUtNy0xLTEtMjYyMjg_3ca3fb5f-f157-4119-9805-962d54ffa371">P7Y10D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="id84b31afaacc422895867b569f12e1a2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzUtOS0xLTEtMjYyMjg_2cb2ef72-037e-4759-a569-c5f4cc078253"
      unitRef="usd">43418000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzYtMS0xLTEtMjYyMjg_35a69f55-c047-4bdb-94b9-9a415ea42b68"
      unitRef="shares">483000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <csgp:SharebasedCompensationSharesGrantedUnderStockOptionPlansExercisePriceRange
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzYtMy0xLTEtMjYyMjgvdGV4dHJlZ2lvbjo1NTI3OTdjMTg1Mjc0OWNmOGI3ZWEyMmNhZjNhNzU4Yl8xMDk5NTExNjI3Nzgy_e93f54ef-a29e-44a2-a503-2b8aa8882c6e"
      unitRef="usdPerShare">39.82</csgp:SharebasedCompensationSharesGrantedUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzYtNS0xLTEtMjYyMjg_dd73438c-2d77-40b6-bb66-a0efeeee0395"
      unitRef="usdPerShare">39.82</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzctMS0xLTEtMjYyMjg_e2cdf2b7-087e-4e9d-820e-7ccbe156ecf5"
      unitRef="shares">1169180</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange
      contextRef="i01e3897dd8134c8fac14638cd402ed35_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzctMy0xLTEtMjYyMjgvdGV4dHJlZ2lvbjowOTI2ZDg5Nzg4N2Y0NTY0ODJhYjI3ZGFmOTk3OTVhOV8xMDk5NTExNjI3Nzg4_e860827e-09e4-45f2-8d54-cb977042bf39"
      unitRef="usdPerShare">5.45</csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange
      contextRef="i3ca29df5f3834364a8a80d7470a5962d_D20180101-20181231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzctMy0xLTEtMjYyMjgvdGV4dHJlZ2lvbjowOTI2ZDg5Nzg4N2Y0NTY0ODJhYjI3ZGFmOTk3OTVhOV8xMDk5NTExNjI3Nzky_fae6b13f-2a32-4a14-bbfc-8d5f99f9a4bb"
      unitRef="usdPerShare">34.21</csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzctNS0xLTEtMjYyMjg_2e75a91e-8a7e-414a-a59e-43ceba5fee6f"
      unitRef="usdPerShare">15.95</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i3a5cd6bf0b6440839316c96180895637_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzktMS0xLTEtMjYyMjg_1f6feb18-c405-4c7b-a69f-703926f581b0"
      unitRef="shares">2756580</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="i2fcf01627c724cba82afeb7dfa8c7c6f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzktMy0xLTEtMjYyMjgvdGV4dHJlZ2lvbjoyNGM4YzkwOTljZjY0NDA2OGUwM2Y3ZTc3NDY1ZWRmNV8xMDk5NTExNjI3Nzg4_a12cffb8-fe3d-4796-842e-51b97ec9834d"
      unitRef="usdPerShare">5.45</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="idd36a9d2523145ecb02befc03850fab8_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzktMy0xLTEtMjYyMjgvdGV4dHJlZ2lvbjoyNGM4YzkwOTljZjY0NDA2OGUwM2Y3ZTc3NDY1ZWRmNV8xMDk5NTExNjI3Nzky_3249a5d0-a943-4be3-a0e2-627fc440f2af"
      unitRef="usdPerShare">39.82</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i3a5cd6bf0b6440839316c96180895637_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzktNS0xLTEtMjYyMjg_c76af6e5-42d7-4fe4-9012-ad2ec0c83c02"
      unitRef="usdPerShare">26.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzktNy0xLTEtMjYyMjg_532d8f74-f515-4dd3-8e6b-b2016c616c7b">P6Y11M23D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i3a5cd6bf0b6440839316c96180895637_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzktOS0xLTEtMjYyMjg_23e9d935-8a87-4f9c-9aa2-2f8aa0fda1e1"
      unitRef="usd">91262000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEwLTEtMS0xLTI2MjI4_bec3e8db-78ad-4c89-92ad-c3c70d809dbb"
      unitRef="shares">341000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <csgp:SharebasedCompensationSharesGrantedUnderStockOptionPlansExercisePriceRange
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEwLTMtMS0xLTI2MjI4L3RleHRyZWdpb246YTVlODc3MTFmOGJhNGQyODg0YTJiMTNiYzM2ZDZhN2FfMTA5OTUxMTYyNzc4Mw_d48aee37-625c-4813-98d6-90f3eabd693a"
      unitRef="usdPerShare">66.65</csgp:SharebasedCompensationSharesGrantedUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEwLTUtMS0xLTI2MjI4_f4a2b1a9-5d2c-4a8b-9df6-a8936c327aef"
      unitRef="usdPerShare">66.65</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTEtMS0xLTI2MjI4_6e74ce2e-efbe-4b9e-94d3-2ec95680b836"
      unitRef="shares">953130</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange
      contextRef="i2dfa52abf9d54263945daec0e17c5115_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTMtMS0xLTI2MjI4L3RleHRyZWdpb246ZDEzOWU5OTc2OTRmNDM1NWJlODBiMzBlZmI5MDgwMjJfMTA5OTUxMTYyNzc4OA_2aa48718-575c-4648-8dc5-7553cb592d45"
      unitRef="usdPerShare">19.37</csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange
      contextRef="i2f2460b680b54d328e65e62bb7588326_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTMtMS0xLTI2MjI4L3RleHRyZWdpb246ZDEzOWU5OTc2OTRmNDM1NWJlODBiMzBlZmI5MDgwMjJfMTA5OTUxMTYyNzc5Mg_ee63fbe3-9f95-4d8e-a40b-c7ae28c1a0d7"
      unitRef="usdPerShare">39.82</csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTUtMS0xLTI2MjI4_2b5c96d3-df93-47cd-b076-6b478641795b"
      unitRef="usdPerShare">22.95</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEyLTEtMS0xLTI2MjI4_eb957071-fe44-4304-92aa-f0a2583df58c"
      unitRef="shares">121350</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <csgp:SharebasedCompensationSharesCanceledorExpiredUnderStockOptionPlansExercisePriceRange
      contextRef="i2dfa52abf9d54263945daec0e17c5115_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEyLTMtMS0xLTI2MjI4L3RleHRyZWdpb246NDcyYTY2OTc3MDkwNDIwNjgyNGNhYjhhODgxOTk2ZGVfMTA5OTUxMTYyNzc4OA_4661c6fe-418b-4b68-a866-fbc6dad9e46c"
      unitRef="usdPerShare">34.21</csgp:SharebasedCompensationSharesCanceledorExpiredUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesCanceledorExpiredUnderStockOptionPlansExercisePriceRange
      contextRef="i2f2460b680b54d328e65e62bb7588326_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEyLTMtMS0xLTI2MjI4L3RleHRyZWdpb246NDcyYTY2OTc3MDkwNDIwNjgyNGNhYjhhODgxOTk2ZGVfMTA5OTUxMTYyNzc5Mg_bc4198c8-c7cc-45ec-9dc9-81e5fa94f513"
      unitRef="usdPerShare">66.65</csgp:SharebasedCompensationSharesCanceledorExpiredUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEyLTUtMS0xLTI2MjI4_26079c28-5723-441a-9c09-4369f7415378"
      unitRef="usdPerShare">44.31</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i6b28e68f85ef401d8d0d80f284124e12_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTEtMS0xLTI2MjI4_fa37e3f6-d16c-4dea-becd-a589e002eb45"
      unitRef="shares">2023100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="ib2be7dc3db85428e816fd338ca5a5c9b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTMtMS0xLTI2MjI4L3RleHRyZWdpb246YTAwODhhNmE1NDhlNGMyN2E5ZjQ3Zjg4MmUzMThjOTFfMTA5OTUxMTYyNzc4OA_fd7ae20b-619d-4431-809a-1a3ba5e817b0"
      unitRef="usdPerShare">10.22</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="iaa861ad1810a41b48c2ab177adf86d0c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTMtMS0xLTI2MjI4L3RleHRyZWdpb246YTAwODhhNmE1NDhlNGMyN2E5ZjQ3Zjg4MmUzMThjOTFfMTA5OTUxMTYyNzc5Mg_3f3e6fa0-b755-4510-8c24-27eeaf176a7d"
      unitRef="usdPerShare">66.65</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i6b28e68f85ef401d8d0d80f284124e12_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTUtMS0xLTI2MjI4_0f9fa569-dbea-4ff6-ad46-2af5eb7cd6da"
      unitRef="usdPerShare">34.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTctMS0xLTI2MjI4_367ab606-0515-433f-8908-d44f97255dab">P6Y11M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i6b28e68f85ef401d8d0d80f284124e12_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTktMS0xLTI2MjI4_c7d546c0-321f-49bf-8fb5-47bb6b2aec9c"
      unitRef="usd">117846000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEwLTEtMS0xLTMzMzc1_c6c4a1fe-9d09-4de1-b8ad-41d514828e67"
      unitRef="shares">159000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <csgp:SharebasedCompensationSharesGrantedUnderStockOptionPlansExercisePriceRange
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEwLTMtMS0xLTMzMzgxL3RleHRyZWdpb246MDQyNmYwOTNjOTUyNGJlMWEyNjM4ODQ2M2Q4ZjcwYTlfMTA5OTUxMTYyNzc4MA_6ab7ab7e-9f4a-43ff-a565-7a11de8fdd6f"
      unitRef="usdPerShare">91.98</csgp:SharebasedCompensationSharesGrantedUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEwLTUtMS0xLTMzMzg1_bfcac5e1-3661-4659-9244-bcbfd64525e8"
      unitRef="usdPerShare">91.98</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTEtMS0xLTMzMzc1_efd07adc-0ed8-4356-a5cc-44a067965775"
      unitRef="shares">206000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange
      contextRef="i22f5f1f458d64a068d09f1adafad7f44_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTMtMS0xLTM2ODQ4L3RleHRyZWdpb246ZmJiYzJkNzZkMDY3NGMzMDljYzQyNzMzMjAzZTZiMmVfMTA5OTUxMTYyNzc4NA_0aed9dbc-3cb2-4ec9-a1b2-ef1b82fb4e09"
      unitRef="usdPerShare">20.49</csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange
      contextRef="i65491a9085044d9593aa2207e64efbad_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTMtMS0xLTM2ODQ4L3RleHRyZWdpb246ZmJiYzJkNzZkMDY3NGMzMDljYzQyNzMzMjAzZTZiMmVfMTA5OTUxMTYyNzc4MA_0060e966-2d59-4e7a-a23d-172b4c3ae58e"
      unitRef="usdPerShare">39.82</csgp:SharebasedCompensationSharesExercisedUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzExLTUtMS0xLTMzMzg1_87471eaf-94ae-4c05-bb67-f744647ea11e"
      unitRef="usdPerShare">30.78</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTEtMS0xLTMzMzc1_72d43405-f335-410b-a3e2-9edc39016e16"
      unitRef="shares">1976100</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="i67f26cbf3082439b94ae2b697e2a6306_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTMtMS0xLTM2ODUzL3RleHRyZWdpb246NDA4OTY1NGU1NmRjNDY5NGIxNTc1ZjBmMDdhZDc5ZDhfMTA5OTUxMTYyNzc4NA_10223966-8d5d-4d08-aab4-c4179ccd5213"
      unitRef="usdPerShare">10.22</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange
      contextRef="id8a94fa9657343478ac9fcbe0c1dfdfb_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTMtMS0xLTM2ODUzL3RleHRyZWdpb246NDA4OTY1NGU1NmRjNDY5NGIxNTc1ZjBmMDdhZDc5ZDhfMTA5OTUxMTYyNzc4MA_81c3da93-4d51-4183-8b3d-61c92abcb4d2"
      unitRef="usdPerShare">91.98</csgp:SharebasedCompensationSharesOutstandingUnderStockOptionPlansExercisePriceRange>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTUtMS0xLTMzMzg1_fff97371-5432-4a6b-9ef5-ed3d3e814ebc"
      unitRef="usdPerShare">39.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTctMS0xLTMzMzkz_e73a4f53-99b4-4816-bece-2799fb0eaf94">P6Y2M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzEzLTktMS0xLTMzMzkz_30adec08-963b-482e-ada4-58c3c4ebf385"
      unitRef="usd">80800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i3a5cd6bf0b6440839316c96180895637_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE2LTEtMS0xLTI2MjI4_5d015d88-7d28-44fa-9728-064b66ffb37b"
      unitRef="shares">1476200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <csgp:Exercisableatendofperiod
      contextRef="i2fcf01627c724cba82afeb7dfa8c7c6f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE2LTMtMS0xLTI2MjI4L3RleHRyZWdpb246MjFlOWM4Nzc5ZWVmNGM5NWJlMGQwNjFhNWYxOGRjZDRfNA_6114967f-406b-4882-8e3a-698609e83b14"
      unitRef="usdPerShare">10.22</csgp:Exercisableatendofperiod>
    <csgp:Exercisableatendofperiod
      contextRef="idd36a9d2523145ecb02befc03850fab8_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE2LTMtMS0xLTI2MjI4L3RleHRyZWdpb246MjFlOWM4Nzc5ZWVmNGM5NWJlMGQwNjFhNWYxOGRjZDRfOQ_d638019e-ffe0-4b56-8fb9-41d0a9b0c291"
      unitRef="usdPerShare">34.21</csgp:Exercisableatendofperiod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i3a5cd6bf0b6440839316c96180895637_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE2LTUtMS0xLTI2MjI4_0c9ad351-efb8-4b7d-8eae-8f7d4c033ddd"
      unitRef="usdPerShare">21.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE2LTctMS0xLTI2MjI4_e16a27b0-4a1d-4217-ad8c-1c4b0ac3a86b">P5Y10M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i3a5cd6bf0b6440839316c96180895637_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE2LTktMS0xLTI2MjI4_455487d8-c77c-49d8-9cab-3a01a32fca36"
      unitRef="usd">57180000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i6b28e68f85ef401d8d0d80f284124e12_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE3LTEtMS0xLTI2MjI4_551f5a01-7474-49a7-a633-50b15cc226b6"
      unitRef="shares">1228060</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <csgp:Exercisableatendofperiod
      contextRef="ib2be7dc3db85428e816fd338ca5a5c9b_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE3LTMtMS0xLTI2MjI4L3RleHRyZWdpb246NDVkNjE1YzgwNGQ3NGZiNDlkNDBiYzQ3ODczOTBjNWRfNA_9df54de7-26ad-474d-9dee-2b3bc88dea25"
      unitRef="usdPerShare">10.22</csgp:Exercisableatendofperiod>
    <csgp:Exercisableatendofperiod
      contextRef="iaa861ad1810a41b48c2ab177adf86d0c_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE3LTMtMS0xLTI2MjI4L3RleHRyZWdpb246NDVkNjE1YzgwNGQ3NGZiNDlkNDBiYzQ3ODczOTBjNWRfOQ_f965cdbd-3bdf-4fde-94dc-fb4936f9dd94"
      unitRef="usdPerShare">39.82</csgp:Exercisableatendofperiod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i6b28e68f85ef401d8d0d80f284124e12_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE3LTUtMS0xLTI2MjI4_79b29b65-5795-44dc-8d21-5a1a2078bd06"
      unitRef="usdPerShare">24.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE3LTctMS0xLTI2MjI4_904f9083-3464-48e3-b1b3-acb17a475076">P6Y2M4D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i6b28e68f85ef401d8d0d80f284124e12_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE3LTktMS0xLTI2MjI4_8954e377-7d80-40f2-bc96-a9d9bd528819"
      unitRef="usd">83204000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE4LTEtMS0xLTMwNTY4_52354406-8df1-4ba5-8fa8-b69df0daba38"
      unitRef="shares">1473420</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <csgp:Exercisableatendofperiod
      contextRef="iccd8d27134ba4aea89c2ecda5e599b2c_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE4LTMtMS0xLTMwNTcyL3RleHRyZWdpb246MWE5NWFiNGNmYjVhNDU5ODllMmFiMDBkMWI0ZTRhMzNfMTA5OTUxMTYyNzc5NQ_068638c5-9c17-4d6f-bb76-6d4f758b14a3"
      unitRef="usdPerShare">10.22</csgp:Exercisableatendofperiod>
    <csgp:Exercisableatendofperiod
      contextRef="id8a94fa9657343478ac9fcbe0c1dfdfb_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE4LTMtMS0xLTMwNTcyL3RleHRyZWdpb246MWE5NWFiNGNmYjVhNDU5ODllMmFiMDBkMWI0ZTRhMzNfMTA5OTUxMTYyNzc4Ng_afb9a4d5-54dd-4cb7-8992-d5349ef86d1f"
      unitRef="usdPerShare">66.65</csgp:Exercisableatendofperiod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE4LTUtMS0xLTMwNTg0_3760dba4-3038-4e8f-8309-b4c654639806"
      unitRef="usdPerShare">29.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE4LTctMS0xLTMwNTkw_7fc707a9-4081-4bd7-b1d4-f160e0a31624">P5Y7M2D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="ie73128a0605e42ac98bc5c6c661b03a4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyZWViYTAzMjg3Y2E0OWIwYWYzNDdkZDE4ZDFjMmEzMy90YWJsZXJhbmdlOjJlZWJhMDMyODdjYTQ5YjBhZjM0N2RkMThkMWMyYTMzXzE4LTktMS0xLTMwNTk3_184bf280-d7cc-499a-bfda-868e66786024"
      unitRef="usd">72905000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ5NDc4MDIzMzgwMjA_47ebab47-624e-4cf2-b4aa-4dbca3e0d750"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ3Mjg_70c79891-58e8-470d-a103-dc9acc055a9a"
      unitRef="usd">11000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ3MzI_694dd46c-47bb-4ce8-b723-8147482ab1f6"
      unitRef="usd">49000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ3Mzk_a771258d-8c6f-4568-b55d-8876fd723715"
      unitRef="usd">40000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzUw_5ae8f564-27f8-4037-a754-b794906cfa32">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company estimated the fair value of each option granted on the date of grant using the Black-Scholes option-pricing model, using the assumptions in the following table:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt;text-align:justify"&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:62.296%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.613%"/&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:10.613%"/&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:10.614%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;Dividend yield&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;0&#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;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 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;0&#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;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 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;0&#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;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;/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;Expected volatility&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;30&#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;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 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;26&#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;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 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;27&#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;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;/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;Risk-free interest rate&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;0.56&#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;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 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.45&#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;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 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.46&#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;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;/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;Expected life (in years)&lt;/span&gt;&lt;/td&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: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="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: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="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:10pt;font-weight:400;line-height:100%"&gt;5&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average grant date fair value&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 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;25.09&#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;17.21&#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;11.52&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;This pricing model uses multiple simulations to evaluate the probability of achieving the market condition to calculate the fair value of the awards. Expense is only recorded for awards that are expected to vest, net of estimated forfeitures. The assumptions used to estimate the fair value of awards with both a performance and a market condition were as follows: &lt;div style="text-align:justify;text-indent:18pt"&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:61.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.776%"/&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.776%"/&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.779%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="15" 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;Year Ended December 31,&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&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;2021&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;2020&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;2019&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;Dividend yield&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;0&#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;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 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;0&#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;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 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;0&#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;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;/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;Expected volatility&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;42&#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;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 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;27&#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;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 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;27&#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;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;/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;Risk-free interest rate&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;0.20&#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;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 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.43&#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;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 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.45&#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;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;/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;Expected life (in years)&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;3&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:10pt;font-weight:400;line-height:100%"&gt;3&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:10pt;font-weight:400;line-height:100%"&gt;3&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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average grant date fair value&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 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;99.73&#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;72.69&#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;42.96&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzItMS0xLTEtMjYyMjg_2e9db892-f757-460f-a185-76bc085f8b4f"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzItMy0xLTEtMjYyMjg_b3f15c58-3c5f-4135-a13a-8b6d3d8a3226"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzItNS0xLTEtMjYyMjg_52fb6ada-04ac-42d4-ab6b-9e54f693063b"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzMtMS0xLTEtMjYyMjg_8088723d-b7ff-4b0b-ae32-68518005c488"
      unitRef="number">0.30</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzMtMy0xLTEtMjYyMjg_b111ed5e-f26e-49e0-a3b7-390fef49c8dc"
      unitRef="number">0.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzMtNS0xLTEtMjYyMjg_3407f5dc-3d97-4094-bc7b-d86cfb1010b9"
      unitRef="number">0.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzQtMS0xLTEtMjYyMjg_e3c7e687-45d0-4739-9b35-b4a6d918881f"
      unitRef="number">0.0056</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzQtMy0xLTEtMjYyMjg_2015aefd-698f-4bb3-9a92-ed5085247dc6"
      unitRef="number">0.0145</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzQtNS0xLTEtMjYyMjg_74ce521b-1af8-4981-91fc-47ff7e2ad045"
      unitRef="number">0.0246</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzUtMS0xLTEtMjYyMjg_1faaab70-dd68-4b5f-92e5-cd04f679e1dd">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzUtMy0xLTEtMjYyMjg_64ba3ebc-2761-4dd4-a72d-fa47b958c692">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzUtNS0xLTEtMjYyMjg_2d81a5f0-3594-4a57-a11b-e4156db0c810">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i59a0e71259444d2ca4c7002aec6bb151_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzYtMS0xLTEtMjYyMjg_b8988640-c507-4f66-9f96-bb8a9cbbcb7d"
      unitRef="usdPerShare">25.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i433cad956c4a4dc7bdde927c4e26130a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzYtMy0xLTEtMjYyMjg_b689d954-a0c8-4833-8fe5-23122b1bd23a"
      unitRef="usdPerShare">17.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i2c8c03bcd30c4d68b8ec2a943300aa35_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYTkzNDQ2YzE4MjM0NjgxOGNiY2JiMTVmNDAzNzU1NS90YWJsZXJhbmdlOjFhOTM0NDZjMTgyMzQ2ODE4Y2JjYmIxNWY0MDM3NTU1XzYtNS0xLTEtMjYyMjg_162bd22b-187b-4068-953c-5362099d9b32"
      unitRef="usdPerShare">11.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzE4MTQxOTQxODczNzQ2_47ebab47-624e-4cf2-b4aa-4dbca3e0d750"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzMz_7801b129-ef04-4d16-b76c-0d1f7d331a9b">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes information regarding options outstanding at December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:1pt;margin-top:6pt"&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:31.648%"/&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.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.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.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.626%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" 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;&#160;Options Outstanding&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:10pt;font-weight:700;line-height:100%"&gt;&#160;Options Exercisable&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Range of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;&#160;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="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;Weighted-Average Remaining Contractual Life (in years)&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:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise Price&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Average&#160;&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Exercise&lt;/span&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Price&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;/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: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;$10.22 - $24.24&lt;/span&gt;&lt;/div&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;762,420&#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="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;4.49&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;18.94&#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;762,420&#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.94&#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: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;$24.25 - $48.82&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;742,680&#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="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;6.65&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;37.12&#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;607,000&#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;36.52&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$48.83 - $69.93&lt;/span&gt;&lt;/div&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;312,000&#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: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;8.10&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;66.65&#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;104,000&#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;66.65&#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: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;$69.94 - $91.98&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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;159,000&#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="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;9.13&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;91.98&#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;/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="background-color:#cceeff;padding:0 1pt"/&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 #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,976,100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;6.24&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;39.18&#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;border-bottom:3pt double #000000;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,473,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&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;29.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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="i16bdf3a2616146058c0e0ff4c64d8e25_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjplMGVmYWRiODIwZjM0YzBhODQxNmMwOWUxN2U4OWNjMV8xMDk5NTExNjI3ODEw_e6ae8684-c369-4a3f-8957-c5349fee523c"
      unitRef="usdPerShare">10.22</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="i16bdf3a2616146058c0e0ff4c64d8e25_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjplMGVmYWRiODIwZjM0YzBhODQxNmMwOWUxN2U4OWNjMV8xMDk5NTExNjI3ODE2_5766212d-2a6c-4b4e-9f39-5a45e1127679"
      unitRef="usdPerShare">24.24</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="icd37099440cd4076b8f4adcc307949f9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItMi0xLTEtMjYyMjg_99052f01-56e1-409d-bf9f-bbbcec3de99b"
      unitRef="shares">762420</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="i16bdf3a2616146058c0e0ff4c64d8e25_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItNC0xLTEtMjYyMjg_f325afb6-15e4-4e53-ad78-a6bcdb95c176">P4Y5M26D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="icd37099440cd4076b8f4adcc307949f9_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItNi0xLTEtMjYyMjg_840d9cc0-d99c-4e49-b1ba-0394131cc6e6"
      unitRef="usdPerShare">18.94</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="icd37099440cd4076b8f4adcc307949f9_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItOC0xLTEtMjYyMjg_4158d514-d263-4be6-8374-5929235c6e45"
      unitRef="shares">762420</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="icd37099440cd4076b8f4adcc307949f9_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzItMTAtMS0xLTI2MjI4_3fbc2d92-968a-4563-bec8-3b603be6ebea"
      unitRef="usdPerShare">18.94</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="i56d3d4457dad4b61a174ab58d6fe6fba_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjo1MTVhMjViZGE1YmQ0ZTdhYmE1MWZkOWQwZDA4MzNiYl8xMDk5NTExNjI3Nzgw_e99da0b1-fc41-4e27-9a57-348979071048"
      unitRef="usdPerShare">24.25</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="i56d3d4457dad4b61a174ab58d6fe6fba_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjo1MTVhMjViZGE1YmQ0ZTdhYmE1MWZkOWQwZDA4MzNiYl8xMDk5NTExNjI3Nzg2_95e3c750-8e4f-44aa-83e8-050c105fc868"
      unitRef="usdPerShare">48.82</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="i31245bf22c0e4347a6f70f8d4fc6b372_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtMi0xLTEtMjYyMjg_f1fc2958-5709-4cca-aff2-b8740710d2cf"
      unitRef="shares">742680</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="i56d3d4457dad4b61a174ab58d6fe6fba_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtNC0xLTEtMjYyMjg_b9e6fc87-69fa-44c1-804d-21bb32423089">P6Y7M24D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="i31245bf22c0e4347a6f70f8d4fc6b372_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtNi0xLTEtMjYyMjg_d9acf709-af3f-4652-b154-19382dcdcaa0"
      unitRef="usdPerShare">37.12</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="i31245bf22c0e4347a6f70f8d4fc6b372_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtOC0xLTEtMjYyMjg_0bf221a6-b550-42f1-8dc7-47fa78394d1b"
      unitRef="shares">607000</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="i31245bf22c0e4347a6f70f8d4fc6b372_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzMtMTAtMS0xLTI2MjI4_bd632ebd-0002-4dcc-a658-2efd8d3d23cf"
      unitRef="usdPerShare">36.52</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="ic853cbd497ad41148aa227467af24d56_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjowODE4YzRmZGZjOGY0YjQ0ODA0NjNlYjY5Mzg0NjNmOF8xMDk5NTExNjI3Nzgw_8974f5c6-31c8-40cb-ad61-678a575edf10"
      unitRef="usdPerShare">48.83</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="ic853cbd497ad41148aa227467af24d56_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjowODE4YzRmZGZjOGY0YjQ0ODA0NjNlYjY5Mzg0NjNmOF8xMDk5NTExNjI3Nzg2_3430667d-45e1-4fd3-a832-8dc9531a14c3"
      unitRef="usdPerShare">69.93</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="i0a33893e23b540ee901acbfd89622aa4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtMi0xLTEtMjYyMjg_3667901b-6221-4e02-91ba-c2a1f667b8c4"
      unitRef="shares">312000</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="ic853cbd497ad41148aa227467af24d56_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtNC0xLTEtMjYyMjg_df4c0266-8b98-4c51-aa3d-84c3ccbb9c1d">P8Y1M6D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="i0a33893e23b540ee901acbfd89622aa4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtNi0xLTEtMjYyMjg_114197c7-e6ae-48df-84a7-d5f40897b960"
      unitRef="usdPerShare">66.65</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="i0a33893e23b540ee901acbfd89622aa4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtOC0xLTEtMjYyMjg_8edd37be-9c33-4e35-a69e-c639b109ef65"
      unitRef="shares">104000</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="i0a33893e23b540ee901acbfd89622aa4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzQtMTAtMS0xLTI2MjI4_ded05aa0-3179-4e02-8cb0-38d5a1a62090"
      unitRef="usdPerShare">66.65</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="ie50d7400906b44be8abebdd5048262d1_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjozMWMxZjVmNmMyMmY0ODkzYmJjYzE5YjRmY2MzMzMyZl8xMDk5NTExNjI3Nzgw_52ede7ee-4a37-46ba-b991-f448299173df"
      unitRef="usdPerShare">69.94</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="ie50d7400906b44be8abebdd5048262d1_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtMC0xLTEtMjYyMjgvdGV4dHJlZ2lvbjozMWMxZjVmNmMyMmY0ODkzYmJjYzE5YjRmY2MzMzMyZl8xMDk5NTExNjI3Nzg2_a011bb2c-8a91-45f0-a160-3b26a0cf94f6"
      unitRef="usdPerShare">91.98</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="iafa96922395e41bc8c9c520e928a67d0_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtMi0xLTEtMjYyMjg_bb8a976d-81c3-4fca-908f-3ee5301b19b1"
      unitRef="shares">159000</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="ie50d7400906b44be8abebdd5048262d1_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtNC0xLTEtMjYyMjg_bdb2683d-6775-44a4-81ff-96f37df70b77">P9Y1M17D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="iafa96922395e41bc8c9c520e928a67d0_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtNi0xLTEtMjYyMjg_755b207d-feb6-4566-b5dc-8912a76dc754"
      unitRef="usdPerShare">91.98</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="iafa96922395e41bc8c9c520e928a67d0_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtOC0xLTEtMjYyMjg_a66e4d5e-63f3-453b-b293-dadf9d3c19ab"
      unitRef="shares">0</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="iafa96922395e41bc8c9c520e928a67d0_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzUtMTAtMS0xLTI2MjI4_40dc37f7-5ef1-414e-a0f0-50a10b294f4d"
      unitRef="usdPerShare">0</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzktMi0xLTEtMjYyMjg_6b4258bc-a653-48ce-8eb3-b57ef1c52941"
      unitRef="shares">1976100</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzktNC0xLTEtMjYyMjg_102e36d7-a5c9-4694-aced-5cc0d138e27c">P6Y2M26D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzktNi0xLTEtMjYyMjg_53d353b7-2034-470a-b23f-1b55ba5df06d"
      unitRef="usdPerShare">39.18</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzktOC0xLTEtMjYyMjg_084413a8-4b97-41da-9c88-642f87a81e5a"
      unitRef="shares">1473420</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZTpjYzNkYTExMzJhZTE0Yjc3ODJiY2ZjZDY2MTkwNjA0NS90YWJsZXJhbmdlOmNjM2RhMTEzMmFlMTRiNzc4MmJjZmNkNjYxOTA2MDQ1XzktMTAtMS0xLTI2MjI4_b3672969-e775-47b2-9dd1-a9dad491b80b"
      unitRef="usdPerShare">29.55</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzEwOTk1MTE2NTAzODE_47ebab47-624e-4cf2-b4aa-4dbca3e0d750"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzA2_56b41cf1-1994-4676-ba7a-bb0174b2cb1f">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzEw_22a860d3-28b5-4cad-84e1-799b46a75be1">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNjg2_1e4c0189-e5ae-4b8f-8f6f-13ece67c8393">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNjg3_f895b214-f27f-4684-b197-e7f0a5c33893">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="if49c90ab09974c1a8af9d0829b5cc046_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4Xzc0NjY_1f7e4603-8ef8-46be-a3a1-1fe706f1132b"
      unitRef="number">0.80</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i93164584549048c49712ab2338a8267e_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4Xzc0NzM_4567b063-35e5-4fb9-ad61-4b2e843e427e"
      unitRef="number">1.20</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzM1_d7ee4f4b-8372-44aa-8f6b-0db7357abf49">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzItMS0xLTEtMjYyMjg_5ff12db8-bde7-447d-a0d9-5d3803e63541"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i8e92da00892f40baad56c8e57221c701_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzItMy0xLTEtMjYyMjg_7a8bd573-346a-42e6-a10c-d70750d497e6"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i4848ebfb96414cb595048da6920a1042_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzItNS0xLTEtMjYyMjg_1946fd2d-def4-41a3-b978-d0cf16837527"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzMtMS0xLTEtMjYyMjg_d1977aa7-633a-4692-baf6-e2c044c67078"
      unitRef="number">0.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i8e92da00892f40baad56c8e57221c701_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzMtMy0xLTEtMjYyMjg_b01d0d57-3a87-4a4d-b985-a25dd7c5077b"
      unitRef="number">0.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i4848ebfb96414cb595048da6920a1042_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzMtNS0xLTEtMjYyMjg_e1521772-d992-4b25-8a9c-1f9a888a0af6"
      unitRef="number">0.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzQtMS0xLTEtMjYyMjg_96eeae3c-7dcb-4f31-8900-8d6f618695dd"
      unitRef="number">0.0020</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i8e92da00892f40baad56c8e57221c701_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzQtMy0xLTEtMjYyMjg_9f97ad0f-ff46-4db6-b24f-080559cc31d9"
      unitRef="number">0.0143</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i4848ebfb96414cb595048da6920a1042_D20190101-20191231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzQtNS0xLTEtMjYyMjg_759f3bbf-8bc6-4941-9dc6-7b0f6c78c00b"
      unitRef="number">0.0245</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzUtMS0xLTEtMjYyMjg_dc14055d-9fe9-4917-a958-72e3c8efb665">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i8e92da00892f40baad56c8e57221c701_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzUtMy0xLTEtMjYyMjg_044cc143-608c-4d6e-bc0c-0874a443968c">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i4848ebfb96414cb595048da6920a1042_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzUtNS0xLTEtMjYyMjg_931e9773-3ad7-4f19-b4e1-16230946c789">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ie532acf3bf69486eaa27aa6f474f7d39_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzYtMS0xLTEtMjYyMjg_51208b8b-21cd-4662-bca1-4ab3fd62953d"
      unitRef="usdPerShare">99.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i8e92da00892f40baad56c8e57221c701_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzYtMy0xLTEtMjYyMjg_1d6c62a9-d227-4976-9d4f-fa73822c68e6"
      unitRef="usdPerShare">72.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4848ebfb96414cb595048da6920a1042_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxMTkzMmM1YzE1N2U0NDUyYjU0NmM2MDRlYTkxZjE1Ny90YWJsZXJhbmdlOjExOTMyYzVjMTU3ZTQ0NTJiNTQ2YzYwNGVhOTFmMTU3XzYtNS0xLTEtMjYyMjg_1022b601-3fe6-46e8-9cfe-cf3fff2650a7"
      unitRef="usdPerShare">42.96</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzE4MTQxOTQxODc0MTk5_47ebab47-624e-4cf2-b4aa-4dbca3e0d750"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4Xzk0MzI_2d7c18b0-84fc-41b3-85cd-aa8ce8d1d68d"
      unitRef="usd">8000000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8975fb6a7927479eabb198da204a7050_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4Xzk0MzY_a0010f14-6c00-4752-952b-953bb59c55c4"
      unitRef="usd">4000000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="icfbfee8f8ee049eba3ff9dd890721a1a_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4Xzk0NDM_f015e122-f198-4a45-8963-5ac5f3610c95"
      unitRef="usd">8000000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i5b4f606b6a3b4125bf4304d3c7b7d9e1_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4Xzk2OTM_14842132-7a0e-4a4c-a5de-587b10f05ca8"
      unitRef="usd">11000000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNzQ4_d0a99816-0e49-4036-a55b-ce709455ab42">&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents unvested restricted stock awards activity for the year ended December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div&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:45.829%"/&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.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.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.624%"/&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="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;Restricted Stock Awards &#x2014; without Market Condition&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:10pt;font-weight:700;line-height:100%"&gt;Restricted Stock Awards &#x2014; with Market Condition&lt;/span&gt;&lt;/td&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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;Unvested restricted stock awards at December 31, 2020&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;2,028,640&#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;52.17&#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;724,800&#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;43.83&#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 19pt;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;Granted&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;813,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;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;80.64&#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;192,000&#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;99.73&#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 19pt;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;Vested&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;(894,291)&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.77&#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;(182,619)&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;38.02&#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 19pt;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;Canceled&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;(165,440)&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;64.07&#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;(16,581)&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;38.02&#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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock awards at December&#160;31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&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;1,782,306&#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;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;66.74&#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;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;717,600&#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;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;67.40&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents unvested restricted stock units activity for the year ended December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div&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:72.730%"/&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.621%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Units&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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;Unvested restricted stock units at December 31, 2020&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;8,640&#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;61.90&#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 19pt;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;Granted&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;6,855&#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;78.00&#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 19pt;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;Vested&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,650)&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;56.99&#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 19pt;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;Canceled&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;(360)&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;73.79&#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;Unvested restricted stock units at December 31, 2021&lt;/span&gt;&lt;/td&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;12,485&#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;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;71.44&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables presents the Matching RSU activity for the year ended December&#160;31, 2021:&lt;/span&gt;&lt;/div&gt;&lt;div&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:72.730%"/&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.621%"/&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:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Number of Matching RSU&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Shares&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&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:700;line-height:100%"&gt;Weighted-Average&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Grant Date&lt;/span&gt;&lt;/div&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:700;line-height:100%"&gt;Fair Value per Share&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&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;Unvested MSPP restricted stock units at December 31, 2020&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;93,170&#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;53.12&#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 19pt;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;Granted&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;40,960&#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;83.79&#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 2px 19pt;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;Canceled&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;(18,040)&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;61.36&#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:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested MSPP restricted stock units at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;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;116,090&#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;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;62.66&#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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i6a8116f4a6d144929f445a0a71ee7662_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzItMS0xLTEtMjYyMjg_f5cfd223-41f5-4cc8-aeac-74e726b91bbf"
      unitRef="shares">2028640</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i6a8116f4a6d144929f445a0a71ee7662_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzItMy0xLTEtMjYyMjg_f48ffef2-129a-47b2-b379-7b85611a9e79"
      unitRef="usdPerShare">52.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i9bf814d35cfc446d8a6fd757eb9521f8_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzItNS0xLTEtMjYyMjg_10c42916-48f3-4474-b8b8-7b710a217c31"
      unitRef="shares">724800</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i9bf814d35cfc446d8a6fd757eb9521f8_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzItNy0xLTEtMjYyMjg_c8d0d7ba-c1c7-4a4c-955d-5f4bed579a80"
      unitRef="usdPerShare">43.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="if393600de37a44a3bae29867d07e7810_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzMtMS0xLTEtMjYyMjg_42823875-f268-4528-ba79-cf009147dfb0"
      unitRef="shares">813397</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if393600de37a44a3bae29867d07e7810_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzMtMy0xLTEtMjYyMjg_fba98cb0-c509-4573-9719-4b6d6e60cea0"
      unitRef="usdPerShare">80.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzMtNS0xLTEtMjYyMjg_c9b517ee-9a19-447a-8202-4b2c664eeccc"
      unitRef="shares">192000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzMtNy0xLTEtMjYyMjg_64798ea8-1507-4a1f-8afe-b2bcf3e7daa7"
      unitRef="usdPerShare">99.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="if393600de37a44a3bae29867d07e7810_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzQtMS0xLTEtMjYyMjg_38892905-cbb5-42d4-a40b-63fa0d510107"
      unitRef="shares">894291</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="if393600de37a44a3bae29867d07e7810_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzQtMy0xLTEtMjYyMjg_df8ceb69-5c9d-45a7-9512-b826ab5ea5ef"
      unitRef="usdPerShare">43.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzQtNS0xLTEtMjYyMjg_0f105c03-3fed-41ad-9c83-f515369e5d85"
      unitRef="shares">182619</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzQtNy0xLTEtMjYyMjg_1f5a5057-76bf-4f27-8552-e70a7615fc27"
      unitRef="usdPerShare">38.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="if393600de37a44a3bae29867d07e7810_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzUtMS0xLTEtMjYyMjg_0acdae13-e77f-4b22-8bb8-b8c4c342e12a"
      unitRef="shares">165440</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="if393600de37a44a3bae29867d07e7810_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzUtMy0xLTEtMjYyMjg_44b553a4-8288-4925-9c9a-22fa92cfba50"
      unitRef="usdPerShare">64.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzUtNS0xLTEtMjYyMjg_960993e8-38e7-43e4-9e06-3bee98b77ebd"
      unitRef="shares">16581</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ifcfe20ed32ad443eb38bba27a3e8ee30_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzUtNy0xLTEtMjYyMjg_03613c46-c7fa-49df-9e85-2c43c8b6ef97"
      unitRef="usdPerShare">38.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i506a567826174116a165037916a52b03_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzYtMS0xLTEtMjYyMjg_44114d7d-cfdc-4ea9-962a-7804ac714b83"
      unitRef="shares">1782306</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i506a567826174116a165037916a52b03_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzYtMy0xLTEtMjYyMjg_3e2a1edd-fddd-45bb-958b-340ca96b549e"
      unitRef="usdPerShare">66.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i5b4f606b6a3b4125bf4304d3c7b7d9e1_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzYtNS0xLTEtMjYyMjg_267df916-9970-4fae-8139-3b534281fff7"
      unitRef="shares">717600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i5b4f606b6a3b4125bf4304d3c7b7d9e1_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToxYmNjYWJhMmFkYjA0YWU5YTJmOTM2YjRjNmMwMDcwNC90YWJsZXJhbmdlOjFiY2NhYmEyYWRiMDRhZTlhMmY5MzZiNGM2YzAwNzA0XzYtNy0xLTEtMjYyMjg_0646c3e3-41ad-4521-85b8-a7fdaa35bba6"
      unitRef="usdPerShare">67.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ5NDc4MDIzMzgwMzA_8003a20a-c81e-42d1-b98e-cccd8bbb3cd7"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0c0881afdc844e88a6f3c2644c366bdd_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzEtMS0xLTEtMjYyMjg_f64c70f9-7ad7-4954-b73d-e0322b312b9f"
      unitRef="shares">8640</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i4d50e0b0ca9942819c02a8758224b838_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzEtMy0xLTEtMjYyMjg_bc005d61-e315-4545-ade2-b2081d194e69"
      unitRef="usdPerShare">61.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzItMS0xLTEtMjYyMjg_05ec1780-1ac5-47d0-88e1-5d839c156216"
      unitRef="shares">6855</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzItMy0xLTEtMjYyMjg_af857bb2-376d-4f64-a1c2-e3875d3cabf7"
      unitRef="usdPerShare">78.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzMtMS0xLTEtMjYyMjg_af5bde72-b1a4-49cf-92ce-9e13446bec6a"
      unitRef="shares">2650</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzMtMy0xLTEtMjYyMjg_16d6222a-5ceb-4b4f-8637-483aa1d778eb"
      unitRef="usdPerShare">56.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzQtMS0xLTEtMjYyMjg_85fed5ba-ef13-4af2-af59-9e3b8e1fda00"
      unitRef="shares">360</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="if9d3f88b705c45c8b696741b7b40f3a2_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzQtMy0xLTEtMjYyMjg_0addbbf1-f329-4c64-b2d7-7b2b4e2811fb"
      unitRef="usdPerShare">73.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="id39edc138a9941db8241a2c4be9b1aba_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzUtMS0xLTEtMjYyMjg_7243f0f9-d6b8-44fa-8b27-559626a41c4c"
      unitRef="shares">12485</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="id39edc138a9941db8241a2c4be9b1aba_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyMjMwMWU4MThlNjk0ZTEyODgwZWY4ZWQ0ZmExZTdlZC90YWJsZXJhbmdlOjIyMzAxZTgxOGU2OTRlMTI4ODBlZjhlZDRmYTFlN2VkXzUtMy0xLTEtMjYyMjg_80d1f16f-886c-4acd-b595-0cc9a6786077"
      unitRef="usdPerShare">71.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ5NDc4MDIzMzgwNDA_efc06dd4-cd82-4019-ba77-6d327a5c33af"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <csgp:DeferredStockUnitGrantedPercentage
      contextRef="i04a5655caf414b779b2b439410a4cb5e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzEwNTY2_0364ddb7-d25a-413f-b246-fbdd2114ebe0"
      unitRef="number">1</csgp:DeferredStockUnitGrantedPercentage>
    <csgp:DeferredStockUnitGrantedPercentage
      contextRef="i04a5655caf414b779b2b439410a4cb5e_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzcxNDY4MjU1OTM2MTk_155e85ba-8967-45c2-aad2-b4171be34886"
      unitRef="number">1</csgp:DeferredStockUnitGrantedPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i45e7876f6f1a4b148793f8a5583c703d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNDMx_22bf1182-89ee-44ff-a063-eeb34997fc17"
      unitRef="shares">40960</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0301354fb962417097e21a2ec333b2e4_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzExNDM4_032f220e-91fe-4650-8172-58dbf6b9fb39"
      unitRef="shares">33840</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ie4b76b80c80b4bcf9dbeb1936a25427a_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzEtMS0xLTEtMjYyMjg_141f3ec1-56ff-4afc-9322-b696c6746d49"
      unitRef="shares">93170</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie4b76b80c80b4bcf9dbeb1936a25427a_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzEtMy0xLTEtMjYyMjg_40d0e330-76de-425f-84da-3b703d70f2de"
      unitRef="usdPerShare">53.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ia311acdb194d4f21befd9c6a89798249_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzItMS0xLTEtMjYyMjg_aca8239c-51f0-4082-afc1-d6d194c3a22f"
      unitRef="shares">40960</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia311acdb194d4f21befd9c6a89798249_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzItMy0xLTEtMjYyMjg_8d4463c3-fe8c-4bc6-bcc3-26fe7df27f21"
      unitRef="usdPerShare">83.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ia311acdb194d4f21befd9c6a89798249_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzQtMS0xLTEtMjYyMjg_91e2ff48-067b-461a-8a7a-dea61b763c12"
      unitRef="shares">18040</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ia311acdb194d4f21befd9c6a89798249_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzQtMy0xLTEtMjYyMjg_e20d6c78-e920-444b-8315-c1054a715f66"
      unitRef="usdPerShare">61.36</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i7193772546b54f6da8494e8abeec9974_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzUtMS0xLTEtMjYyMjg_4584bb12-5b36-4ab9-b319-cc2951ae3dd6"
      unitRef="shares">116090</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i7193772546b54f6da8494e8abeec9974_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90YWJsZToyNDg3MzRiOWFhODk0OWRmYmM2MDE0YzBmZGNhYmIxYy90YWJsZXJhbmdlOjI0ODczNGI5YWE4OTQ5ZGZiYzYwMTRjMGZkY2FiYjFjXzUtMy0xLTEtMjYyMjg_3fe95645-84b2-4427-9c50-86fa88d0cfbf"
      unitRef="usdPerShare">62.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i5fcc024dc2df44ebb2ef480cb5669791_D20210607-20210607"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjAvZnJhZzo5YzM1MDg0MDIxY2E0Y2JhYmQwMDE2YWZlYTk3NTYzOC90ZXh0cmVnaW9uOjljMzUwODQwMjFjYTRjYmFiZDAwMTZhZmVhOTc1NjM4XzQ5NDc4MDIzMzgwNDM_8362fe1b-2167-4f0f-97cf-908bea946b6c"
      unitRef="number">10</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzQ5NQ_44944498-1345-4f04-8356-786e902a35c2"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzQ5NQ_cd374f0b-a7a3-4254-8aa5-b7f6add8e1cb"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzQ5NQ_f1069089-b800-42a3-acdc-831a2df851a4"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzU0Mw_0f827092-6d56-49bc-86b8-00864f202370"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzU0Mw_45b84703-a7ab-46c1-95d0-b326c31a3241"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzU0Mw_63df9108-f403-4ebd-9928-f1934d6356eb"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzcwMw_4b4c4786-7351-4a50-95c3-183c0c2166ba"
      unitRef="usd">18000000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzcwNw_6c595206-3f4c-41bd-9e25-41ba5f912646"
      unitRef="usd">15000000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzcxNA_676b6a54-c122-4b27-a522-0b30e36c991f"
      unitRef="usd">12000000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses
      contextRef="icf27aa77dfc54a18ada1374e245c48df_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzc0OA_4bd5d97f-9f2c-4839-87bf-abb7e5ac546b"
      unitRef="usd">0</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzc0OA_54b26cb8-3954-4acb-83e4-f5deee755113"
      unitRef="usd">0</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanAdministrativeExpenses
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzc0OA_a6c63d6c-63bf-480c-bdcc-60b058ee5536"
      unitRef="usd">0</us-gaap:DefinedContributionPlanAdministrativeExpenses>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i17dc9b9d039d458e82a1e940828e7bf7_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzEzMTk_1f0b94b3-2915-49d6-ae94-31427cafdae1"
      unitRef="number">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i33bc183f3a5f4ab1b45a8e8e4ff1b3a9_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzEzMTk_3c81ada4-6a78-484b-b30f-7c00d3440fc2"
      unitRef="number">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="ib80d3cbf0a5647ffb53ca4be6aec8c0f_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzEzMTk_a86e6e82-218d-479c-84ec-8088993beb8b"
      unitRef="number">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i33bc183f3a5f4ab1b45a8e8e4ff1b3a9_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE0Nzg_64b5fcce-4fd8-4c47-a7ae-c93fa1f9d41c"
      unitRef="usd">900000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="ib80d3cbf0a5647ffb53ca4be6aec8c0f_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE0ODI_ea85ddd6-755b-47f0-a44e-64323c6ad4f4"
      unitRef="usd">900000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i17dc9b9d039d458e82a1e940828e7bf7_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE0ODk_eff774f0-d763-4a33-8cd2-08b6cf54beec"
      unitRef="usd">600000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="ib9b777ce46dd437e97fb43958a5ab06b_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE3MjM_33667442-f6f3-4260-8411-e6bc84526dc9"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i171c381cf0794027893c0a62061171e0_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE3MjM_34a26ade-2ec2-48b0-8281-512627ed01ab"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="i23aa294765cc4bb88af391105e6ff87a_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE3MjM_aefd57a3-a52a-4593-841d-c37fef20f13f"
      unitRef="number">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i171c381cf0794027893c0a62061171e0_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE3NzE_037ccf93-69c7-403d-b31e-52c4d6d8e76c"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i23aa294765cc4bb88af391105e6ff87a_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE3NzE_712d8562-56ba-4b82-9901-38690aed3340"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="ib9b777ce46dd437e97fb43958a5ab06b_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE3NzE_a066e1f0-2e8e-4f01-8d59-f1d07f8d0602"
      unitRef="number">0.04</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i171c381cf0794027893c0a62061171e0_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE4OTU_90b7ef0f-679d-48fb-9ef1-92ab576ce05d"
      unitRef="usd">100000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="ib9b777ce46dd437e97fb43958a5ab06b_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE4OTU_a9f80a7b-957e-49aa-b19f-3938ffd552ff"
      unitRef="usd">100000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="i23aa294765cc4bb88af391105e6ff87a_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzE4OTU_e9947d39-744c-43a1-8e48-c6c3790b85f7"
      unitRef="usd">100000</us-gaap:DefinedContributionPlanCostRecognized>
    <csgp:PercentageOfPurchasePriceOfCompanysCommonStockToMarketPrice
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzIyNzA_57308a2a-fa9f-4892-8863-6f93afca66f5"
      unitRef="number">0.90</csgp:PercentageOfPurchasePriceOfCompanysCommonStockToMarketPrice>
    <csgp:IncreaseInSharesOfCommonStockIssuedPursuantToStockPlan
      contextRef="i64ffe660181c40feb3faa94a952c8cb6_D20210602-20210602"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzI2OTU_9c625175-31af-4327-9abb-49074c294320"
      unitRef="shares">1000000</csgp:IncreaseInSharesOfCommonStockIssuedPursuantToStockPlan>
    <csgp:SharesAvailableEmployeeStockPurchasePlan
      contextRef="ibff5bca44a1c4322b5dfb13269cf92e4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzI4NTE_eec99cd0-3dcf-4e63-aac5-ae0c0fbf94be"
      unitRef="shares">1233863</csgp:SharesAvailableEmployeeStockPurchasePlan>
    <csgp:SharesAvailableEmployeeStockPurchasePlan
      contextRef="i5203766ae01242c6a7dd45ad9aaabb93_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzI4NTg_df5ce0a2-025a-4427-913b-ffcf8073e0b4"
      unitRef="shares">385910</csgp:SharesAvailableEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i75e2bbdc90bc4c88ad6ecc375f30de14_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzI5NTU_72adefaf-8665-4330-8cf4-ec59ae9162bc"
      unitRef="shares">152047</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i39830894519243f4a491908a9173714a_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMjYvZnJhZzoxNDc4ZGVhMTY4Mzc0ZWNmYmY3NDVlNmFjNWE4N2I2Zi90ZXh0cmVnaW9uOjE0NzhkZWExNjgzNzRlY2ZiZjc0NWU2YWM1YTg3YjZmXzI5NjI_3a7d3d43-9c01-407c-8df1-849cd783c470"
      unitRef="shares">129930</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTEtMS0xLTI2MjI4_7b36fccc-f7c9-4160-9c08-4a8d9305022e"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTEtMS0xLTI2MjI4_7b36fccc-f7c9-4160-9c08-4a8d9305022e"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtMy0xLTEtMjYyMjg_9625b64f-232c-4148-b0ea-463dc2aec922"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtMy0xLTEtMjYyMjg_9625b64f-232c-4148-b0ea-463dc2aec922"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTEtMS0xLTI2MjI4_c0e24926-259e-47db-8de9-71e6634cd73c"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTEtMS0xLTI2MjI4_c0e24926-259e-47db-8de9-71e6634cd73c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTUtMS0xLTI2MjI4_bf8edbeb-85bd-4915-b099-1ca7b871985e"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTUtMS0xLTI2MjI4_bf8edbeb-85bd-4915-b099-1ca7b871985e"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTEtMS0xLTI2MjI4_b07e8526-abfd-43a3-82d3-f3a7393168ce"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTEtMS0xLTI2MjI4_b07e8526-abfd-43a3-82d3-f3a7393168ce"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTMtMS0xLTI2MjI4_4f8b9402-a15e-4621-b28b-ad5ce4560743"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTMtMS0xLTI2MjI4_4f8b9402-a15e-4621-b28b-ad5ce4560743"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTEtMS0xLTI2MjI4_db7bb4d1-9452-4722-8818-673d1c25e075"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTEtMS0xLTI2MjI4_db7bb4d1-9452-4722-8818-673d1c25e075"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTMtMS0xLTI2MjI4_1800c414-f2c8-407d-a6fe-cca245c30457"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTMtMS0xLTI2MjI4_1800c414-f2c8-407d-a6fe-cca245c30457"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTUtMS0xLTI2MjI4_eab52556-1032-4c7c-bd02-24d0fcde49a2"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTUtMS0xLTI2MjI4_eab52556-1032-4c7c-bd02-24d0fcde49a2"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTUtMS0xLTI2MjI4_a4a0da44-2bde-41ce-98e2-9f08232111a2"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTUtMS0xLTI2MjI4_a4a0da44-2bde-41ce-98e2-9f08232111a2"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTUtMS0xLTI2MjI4_5fe15c03-b950-4233-ac1f-1b2498d65ff9"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTUtMS0xLTI2MjI4_5fe15c03-b950-4233-ac1f-1b2498d65ff9"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTMtMS0xLTI2MjI4_de06dfd6-f730-49a9-a168-8c37a3b2be17"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTMtMS0xLTI2MjI4_de06dfd6-f730-49a9-a168-8c37a3b2be17"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTMtMS0xLTI2MjI4_ddfdb64b-b3d1-4634-a270-9260b7446b22"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTMtMS0xLTI2MjI4_ddfdb64b-b3d1-4634-a270-9260b7446b22"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTEtMS0xLTI2MjI4_7b36fccc-f7c9-4160-9c08-4a8d9305022e"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8yMTQvZnJhZzpiYjdjNjc4NDQyMjc0OTFkYTRmODc1ZTNhOWM3ZGY1Mi90YWJsZTpmNTY0ZjQwNDMxNmI0MDgyYTI4YzYwYzlhZThjMTQxNS90YWJsZXJhbmdlOmY1NjRmNDA0MzE2YjQwODJhMjhjNjBjOWFlOGMxNDE1XzUtMy0xLTEtMjYyMjg_9625b64f-232c-4148-b0ea-463dc2aec922"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTEtMS0xLTI2MjI4_c0e24926-259e-47db-8de9-71e6634cd73c"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTUtMS0xLTI2MjI4_bf8edbeb-85bd-4915-b099-1ca7b871985e"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTEtMS0xLTI2MjI4_b07e8526-abfd-43a3-82d3-f3a7393168ce"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTMtMS0xLTI2MjI4_4f8b9402-a15e-4621-b28b-ad5ce4560743"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTEtMS0xLTI2MjI4_db7bb4d1-9452-4722-8818-673d1c25e075"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTMtMS0xLTI2MjI4_1800c414-f2c8-407d-a6fe-cca245c30457"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzI0LTUtMS0xLTI2MjI4_eab52556-1032-4c7c-bd02-24d0fcde49a2"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTUtMS0xLTI2MjI4_a4a0da44-2bde-41ce-98e2-9f08232111a2"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIwLTUtMS0xLTI2MjI4_5fe15c03-b950-4233-ac1f-1b2498d65ff9"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIxLTMtMS0xLTI2MjI4_de06dfd6-f730-49a9-a168-8c37a3b2be17"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90YWJsZToyNGQ1OWJkYzhiZTE0ZjAxODc0MWM5Y2ZhYTYxMWM3Ni90YWJsZXJhbmdlOjI0ZDU5YmRjOGJlMTRmMDE4NzQxYzljZmFhNjExYzc2XzIzLTMtMS0xLTI2MjI4_ddfdb64b-b3d1-4634-a270-9260b7446b22"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMjQvZnJhZzowYjIyNGNjMTBjZGE0NDc2YWU0NTI0MWQ2ZmZhNDMwNy90ZXh0cmVnaW9uOjBiMjI0Y2MxMGNkYTQ0NzZhZTQ1MjQxZDZmZmE0MzA3XzQzOTgwNDY1MTEyOTU_775ef152-f207-4fea-9064-cd5a997fb75c"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTEtMS0xLTI2MjI4_58286fb0-dea9-43a7-b90e-3bd087d2bb2a"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTEtMS0xLTI2MjI4_58286fb0-dea9-43a7-b90e-3bd087d2bb2a"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTMtMS0xLTI2MjI4_6f293aac-53a2-4444-b6f6-5050447c5a49"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTMtMS0xLTI2MjI4_6f293aac-53a2-4444-b6f6-5050447c5a49"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90ZXh0cmVnaW9uOjRmNGYyODg1MjZhZTQyMDZiNmI3ZjJiYTEwOGEwY2Y2XzQzOTgwNDY1MTIzODk_7f3460ee-3ff8-4a39-a8a5-86255f7a4f6e" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90ZXh0cmVnaW9uOjRmNGYyODg1MjZhZTQyMDZiNmI3ZjJiYTEwOGEwY2Y2XzQzOTgwNDY1MTIzODk_7f3460ee-3ff8-4a39-a8a5-86255f7a4f6e" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTEtMS0xLTI2MjI4_58286fb0-dea9-43a7-b90e-3bd087d2bb2a"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90ZXh0cmVnaW9uOjRmNGYyODg1MjZhZTQyMDZiNmI3ZjJiYTEwOGEwY2Y2XzQzOTgwNDY1MTIzODk_7f3460ee-3ff8-4a39-a8a5-86255f7a4f6e"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTMtMS0xLTI2MjI4_6f293aac-53a2-4444-b6f6-5050447c5a49"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90ZXh0cmVnaW9uOjRmNGYyODg1MjZhZTQyMDZiNmI3ZjJiYTEwOGEwY2Y2XzQzOTgwNDY1MTIzODk_7f3460ee-3ff8-4a39-a8a5-86255f7a4f6e"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMS0xLTEtMjYyMjg_314445cd-4d0e-45c5-80a0-ca58761a0277"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMS0xLTEtMjYyMjg_314445cd-4d0e-45c5-80a0-ca58761a0277"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTEtMS0xLTI2MjI4_f040fe92-c55e-49a8-941a-98a678e75513"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTEtMS0xLTI2MjI4_f040fe92-c55e-49a8-941a-98a678e75513"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTMtMS0xLTI2MjI4_e3ce70c2-d7dc-493b-8240-f10ad43bed76"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTMtMS0xLTI2MjI4_e3ce70c2-d7dc-493b-8240-f10ad43bed76"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTEtMS0xLTI2MjI4_4f3f7373-123a-4cd9-9296-ec97847fc29a"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTEtMS0xLTI2MjI4_4f3f7373-123a-4cd9-9296-ec97847fc29a"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTMtMS0xLTI2MjI4_28bd53ca-083c-4d31-9cb1-d0d7d71a1e75"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTMtMS0xLTI2MjI4_28bd53ca-083c-4d31-9cb1-d0d7d71a1e75"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTUtMS0xLTI2MjI4_89022f87-bc8b-4d16-ba4c-fbfe47c757fa"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTUtMS0xLTI2MjI4_89022f87-bc8b-4d16-ba4c-fbfe47c757fa"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTUtMS0xLTI2MjI4_0141cf7e-0604-4be7-898a-0fa8065c3c79"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTUtMS0xLTI2MjI4_0141cf7e-0604-4be7-898a-0fa8065c3c79"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTEtMS0xLTI2MjI4_45fb0725-9f41-4efb-9663-3f414f5a3273"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTEtMS0xLTI2MjI4_45fb0725-9f41-4efb-9663-3f414f5a3273"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTEtMS0xLTI2MjI4_c462c14f-ba6e-4460-b165-d792f474108c"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTEtMS0xLTI2MjI4_c462c14f-ba6e-4460-b165-d792f474108c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktNS0xLTEtMjYyMjg_e2804e63-c8ee-487b-b924-159bd04a1b44"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktNS0xLTEtMjYyMjg_e2804e63-c8ee-487b-b924-159bd04a1b44"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTUtMS0xLTI2MjI4_e0a14538-4cce-47bc-984b-66fd05b10b56"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTUtMS0xLTI2MjI4_e0a14538-4cce-47bc-984b-66fd05b10b56"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtNS0xLTEtMjYyMjg_ddd7f65e-4979-42b4-ad1b-0545766c2878"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtNS0xLTEtMjYyMjg_ddd7f65e-4979-42b4-ad1b-0545766c2878"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMy0xLTEtMjYyMjg_412ceedb-9709-48e6-8c6d-06d4710fc486"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMy0xLTEtMjYyMjg_412ceedb-9709-48e6-8c6d-06d4710fc486"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTUtMS0xLTI2MjI4_f48752dd-3acf-4883-8c17-eac7dab6254c"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTUtMS0xLTI2MjI4_f48752dd-3acf-4883-8c17-eac7dab6254c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTUtMS0xLTI2MjI4_6a261623-4341-489e-a672-cf59fef1c274"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTUtMS0xLTI2MjI4_6a261623-4341-489e-a672-cf59fef1c274"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTUtMS0xLTI2MjI4_4173badb-e1fa-4355-b800-1726430f4975"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTUtMS0xLTI2MjI4_4173badb-e1fa-4355-b800-1726430f4975"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMS0xLTEtMjYyMjg_cd7fb358-4ed6-41a1-b21b-6c4eabc17128"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMS0xLTEtMjYyMjg_cd7fb358-4ed6-41a1-b21b-6c4eabc17128"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTUtMS0xLTI2MjI4_89983ce0-09fe-45d7-8727-b4e6b2321101"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTUtMS0xLTI2MjI4_89983ce0-09fe-45d7-8727-b4e6b2321101"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTMtMS0xLTI2MjI4_589f602d-46b9-43db-8715-148b7e6ddec3"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTMtMS0xLTI2MjI4_589f602d-46b9-43db-8715-148b7e6ddec3"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMS0xLTEtMjYyMjg_b1586950-a49f-4bd9-98d5-c1707c95b4b1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMS0xLTEtMjYyMjg_b1586950-a49f-4bd9-98d5-c1707c95b4b1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIwLTUtMS0xLTI2MjI4_ac2eff1a-9b11-4d42-a2d5-6a7a83035946"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIwLTUtMS0xLTI2MjI4_ac2eff1a-9b11-4d42-a2d5-6a7a83035946"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTUtMS0xLTI2MjI4_e081b70a-67c8-4e96-ad9d-81b9141d05fe"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTUtMS0xLTI2MjI4_e081b70a-67c8-4e96-ad9d-81b9141d05fe"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTEtMS0xLTI2MjI4_0d897b9e-78fa-4253-9188-bcc6626baf57"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTEtMS0xLTI2MjI4_0d897b9e-78fa-4253-9188-bcc6626baf57"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMy0xLTEtMjYyMjg_8bb346e3-4b04-471d-b3d6-ea69af77b71f"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMy0xLTEtMjYyMjg_8bb346e3-4b04-471d-b3d6-ea69af77b71f"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTEtMS0xLTI2MjI4_9d3207d8-72f1-48a7-8e4f-4a70ea325cca"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTEtMS0xLTI2MjI4_9d3207d8-72f1-48a7-8e4f-4a70ea325cca"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTMtMS0xLTI2MjI4_d1028866-f235-4fcc-b7bb-475eaf2eaaf9"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTMtMS0xLTI2MjI4_d1028866-f235-4fcc-b7bb-475eaf2eaaf9"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTMtMS0xLTI2MjI4_125701f5-232f-42eb-9853-917bc3497c11"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTMtMS0xLTI2MjI4_125701f5-232f-42eb-9853-917bc3497c11"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMS0xLTEtMjYyMjg_66fcfc78-5680-4e05-a8a7-7ebaa426b7f0"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMS0xLTEtMjYyMjg_66fcfc78-5680-4e05-a8a7-7ebaa426b7f0"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTEtMS0xLTI2MjI4_eb8436b4-04f8-4198-a418-fe521bc99bf6"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTEtMS0xLTI2MjI4_eb8436b4-04f8-4198-a418-fe521bc99bf6"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTEtMS0xLTI2MjI4_97d5e9d7-e492-4d1a-816d-72d15b7e337b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTEtMS0xLTI2MjI4_97d5e9d7-e492-4d1a-816d-72d15b7e337b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTMtMS0xLTI2MjI4_bd1bbcc1-be0e-459e-961e-1ab29aed7939"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTMtMS0xLTI2MjI4_bd1bbcc1-be0e-459e-961e-1ab29aed7939"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTMtMS0xLTI2MjI4_1cf1c417-230a-4a8e-bf32-da6222a18305"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTMtMS0xLTI2MjI4_1cf1c417-230a-4a8e-bf32-da6222a18305"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTEtMS0xLTI2MjI4_95cdd6c9-1654-48eb-b1f2-afcd72094147"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTEtMS0xLTI2MjI4_95cdd6c9-1654-48eb-b1f2-afcd72094147"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTEtMS0xLTI2MjI4_d234af9a-e6c3-4ec0-8c65-334b78bfb0e6"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTEtMS0xLTI2MjI4_d234af9a-e6c3-4ec0-8c65-334b78bfb0e6"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTMtMS0xLTI2MjI4_657c2a93-0376-41e8-a01c-e6ac0879d56c"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTMtMS0xLTI2MjI4_657c2a93-0376-41e8-a01c-e6ac0879d56c"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTUtMS0xLTI2MjI4_22d2a75f-b0b2-4c87-b2ea-0ed6bb042de6"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTUtMS0xLTI2MjI4_22d2a75f-b0b2-4c87-b2ea-0ed6bb042de6"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEwLTUtMS0xLTI2MjI4_e51f0e23-f4b0-41f6-8653-3261b8e2eb00"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEwLTUtMS0xLTI2MjI4_e51f0e23-f4b0-41f6-8653-3261b8e2eb00"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTEtMS0xLTI2MjI4_b181748b-5f27-4985-b1eb-e36260e7ce9d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTEtMS0xLTI2MjI4_b181748b-5f27-4985-b1eb-e36260e7ce9d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTUtMS0xLTI2MjI4_50f38b17-cc03-472c-889a-90ce81f4e262"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTUtMS0xLTI2MjI4_50f38b17-cc03-472c-889a-90ce81f4e262"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTEtMS0xLTI2MjI4_bb949db7-6934-420d-8cbe-c57195344bc1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTEtMS0xLTI2MjI4_bb949db7-6934-420d-8cbe-c57195344bc1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMyLTUtMS0xLTI2MjI4_3bbf1958-5b9b-4e9d-a8ec-d4f0760e27a8"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMyLTUtMS0xLTI2MjI4_3bbf1958-5b9b-4e9d-a8ec-d4f0760e27a8"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMy0xLTEtMjYyMjg_60c15676-f0d3-42e6-8eb9-289129d45e0e"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMy0xLTEtMjYyMjg_60c15676-f0d3-42e6-8eb9-289129d45e0e"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTMtMS0xLTI2MjI4_c973fa76-390a-4d1b-945b-8d8ae512a1d7"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTMtMS0xLTI2MjI4_c973fa76-390a-4d1b-945b-8d8ae512a1d7"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTMtMS0xLTI2MjI4_57a048d2-ab07-4cfa-b5da-0c4dccf02c3d"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTMtMS0xLTI2MjI4_57a048d2-ab07-4cfa-b5da-0c4dccf02c3d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMy0xLTEtMjYyMjg_5855c42a-88af-475f-9f4c-b186e2286568"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMy0xLTEtMjYyMjg_5855c42a-88af-475f-9f4c-b186e2286568"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTMtMS0xLTI2MjI4_023bfdd6-b848-4015-8ba4-700c4e76530b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTMtMS0xLTI2MjI4_023bfdd6-b848-4015-8ba4-700c4e76530b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctNS0xLTEtMjYyMjg_2dfcaf18-a95d-4090-a77c-86236050ca9b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctNS0xLTEtMjYyMjg_2dfcaf18-a95d-4090-a77c-86236050ca9b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTMtMS0xLTI2MjI4_106ce42a-b0aa-42a5-96f1-95337f51daf1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTMtMS0xLTI2MjI4_106ce42a-b0aa-42a5-96f1-95337f51daf1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtNS0xLTEtMjYyMjg_d3412f99-a837-454d-8e55-f946b411dae8"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtNS0xLTEtMjYyMjg_d3412f99-a837-454d-8e55-f946b411dae8"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTUtMS0xLTI2MjI4_db75f716-c525-47fa-b8fc-cd625b13f69b"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTUtMS0xLTI2MjI4_db75f716-c525-47fa-b8fc-cd625b13f69b"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItNS0xLTEtMjYyMjg_8bbd21c1-56d1-46a4-b38f-764a147fed00"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItNS0xLTEtMjYyMjg_8bbd21c1-56d1-46a4-b38f-764a147fed00"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMS0xLTEtMjYyMjg_4b5f7531-9c9b-45ad-a0e4-de19192448a1"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMS0xLTEtMjYyMjg_4b5f7531-9c9b-45ad-a0e4-de19192448a1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzExLTUtMS0xLTI2MjI4_c096b1da-da96-4809-83cf-0b06ac523ff5"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzExLTUtMS0xLTI2MjI4_c096b1da-da96-4809-83cf-0b06ac523ff5"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMy0xLTEtMjYyMjg_06d49474-fd39-4f36-a0e3-eedca27d393e"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMy0xLTEtMjYyMjg_06d49474-fd39-4f36-a0e3-eedca27d393e"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTUtMS0xLTI2MjI4_c78605c8-9496-41a0-866e-1b1af8f716ba"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTUtMS0xLTI2MjI4_c78605c8-9496-41a0-866e-1b1af8f716ba"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTUtMS0xLTI2MjI4_e26ea914-a290-4c32-85ec-12671ff1963a"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTUtMS0xLTI2MjI4_e26ea914-a290-4c32-85ec-12671ff1963a"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Prior period amounts have been retroactively adjusted to reflect the ten-for-one stock split effected in the form of a stock dividend in June 2021.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMS0xLTEtMjYyMjg_314445cd-4d0e-45c5-80a0-ca58761a0277"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTEtMS0xLTI2MjI4_f040fe92-c55e-49a8-941a-98a678e75513"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTMtMS0xLTI2MjI4_e3ce70c2-d7dc-493b-8240-f10ad43bed76"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTEtMS0xLTI2MjI4_4f3f7373-123a-4cd9-9296-ec97847fc29a"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTMtMS0xLTI2MjI4_28bd53ca-083c-4d31-9cb1-d0d7d71a1e75"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTUtMS0xLTI2MjI4_89022f87-bc8b-4d16-ba4c-fbfe47c757fa"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTUtMS0xLTI2MjI4_0141cf7e-0604-4be7-898a-0fa8065c3c79"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTEtMS0xLTI2MjI4_45fb0725-9f41-4efb-9663-3f414f5a3273"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTEtMS0xLTI2MjI4_c462c14f-ba6e-4460-b165-d792f474108c"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktNS0xLTEtMjYyMjg_e2804e63-c8ee-487b-b924-159bd04a1b44"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTUtMS0xLTI2MjI4_e0a14538-4cce-47bc-984b-66fd05b10b56"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtNS0xLTEtMjYyMjg_ddd7f65e-4979-42b4-ad1b-0545766c2878"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMy0xLTEtMjYyMjg_412ceedb-9709-48e6-8c6d-06d4710fc486"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTUtMS0xLTI2MjI4_f48752dd-3acf-4883-8c17-eac7dab6254c"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTUtMS0xLTI2MjI4_6a261623-4341-489e-a672-cf59fef1c274"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTUtMS0xLTI2MjI4_4173badb-e1fa-4355-b800-1726430f4975"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtMS0xLTEtMjYyMjg_cd7fb358-4ed6-41a1-b21b-6c4eabc17128"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTUtMS0xLTI2MjI4_89983ce0-09fe-45d7-8727-b4e6b2321101"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTMtMS0xLTI2MjI4_589f602d-46b9-43db-8715-148b7e6ddec3"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMS0xLTEtMjYyMjg_b1586950-a49f-4bd9-98d5-c1707c95b4b1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTEtMS0xLTI2MjI4_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIwLTUtMS0xLTI2MjI4_ac2eff1a-9b11-4d42-a2d5-6a7a83035946"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTUtMS0xLTI2MjI4_e081b70a-67c8-4e96-ad9d-81b9141d05fe"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTEtMS0xLTI2MjI4_0d897b9e-78fa-4253-9188-bcc6626baf57"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_f5c4b4b4-ca63-4ec6-84e2-f572e3d27bc7"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctMy0xLTEtMjYyMjg_8bb346e3-4b04-471d-b3d6-ea69af77b71f"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTEtMS0xLTI2MjI4_9d3207d8-72f1-48a7-8e4f-4a70ea325cca"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEyLTMtMS0xLTI2MjI4_d1028866-f235-4fcc-b7bb-475eaf2eaaf9"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIyLTMtMS0xLTI2MjI4_125701f5-232f-42eb-9853-917bc3497c11"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMS0xLTEtMjYyMjg_66fcfc78-5680-4e05-a8a7-7ebaa426b7f0"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE5LTEtMS0xLTI2MjI4_eb8436b4-04f8-4198-a418-fe521bc99bf6"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTEtMS0xLTI2MjI4_97d5e9d7-e492-4d1a-816d-72d15b7e337b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTMtMS0xLTI2MjI4_bd1bbcc1-be0e-459e-961e-1ab29aed7939"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTMtMS0xLTI2MjI4_1cf1c417-230a-4a8e-bf32-da6222a18305"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM0LTEtMS0xLTI2MjI4_95cdd6c9-1654-48eb-b1f2-afcd72094147"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTEtMS0xLTI2MjI4_d234af9a-e6c3-4ec0-8c65-334b78bfb0e6"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTMtMS0xLTI2MjI4_657c2a93-0376-41e8-a01c-e6ac0879d56c"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzAvZnJhZzo0ZjRmMjg4NTI2YWU0MjA2YjZiN2YyYmExMDhhMGNmNi90YWJsZTowMWY5MzNlZjA1MmY0ZjU0YjNiMDU0NzJiM2Q2OWViMy90YWJsZXJhbmdlOjAxZjkzM2VmMDUyZjRmNTRiM2IwNTQ3MmIzZDY5ZWIzXzQzLTAtMS0xLTI2MjI4L3RleHRyZWdpb246ZTZlNzY0YjAzZGJiNDMyZDgzYWZmZDk1N2Y5MTJkZGRfMTM3NDM4OTUzNDc0NzM_9409d7f1-17e2-4bcc-86ae-d0938a471f13"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE3LTUtMS0xLTI2MjI4_22d2a75f-b0b2-4c87-b2ea-0ed6bb042de6"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzEwLTUtMS0xLTI2MjI4_e51f0e23-f4b0-41f6-8653-3261b8e2eb00"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTEtMS0xLTI2MjI4_b181748b-5f27-4985-b1eb-e36260e7ce9d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE4LTUtMS0xLTI2MjI4_50f38b17-cc03-472c-889a-90ce81f4e262"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTEtMS0xLTI2MjI4_bb949db7-6934-420d-8cbe-c57195344bc1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMyLTUtMS0xLTI2MjI4_3bbf1958-5b9b-4e9d-a8ec-d4f0760e27a8"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzktMy0xLTEtMjYyMjg_60c15676-f0d3-42e6-8eb9-289129d45e0e"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzM2LTMtMS0xLTI2MjI4_c973fa76-390a-4d1b-945b-8d8ae512a1d7"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzIzLTMtMS0xLTI2MjI4_57a048d2-ab07-4cfa-b5da-0c4dccf02c3d"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItMy0xLTEtMjYyMjg_5855c42a-88af-475f-9f4c-b186e2286568"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI5LTMtMS0xLTI2MjI4_023bfdd6-b848-4015-8ba4-700c4e76530b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzctNS0xLTEtMjYyMjg_2dfcaf18-a95d-4090-a77c-86236050ca9b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzI0LTMtMS0xLTI2MjI4_106ce42a-b0aa-42a5-96f1-95337f51daf1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzQtNS0xLTEtMjYyMjg_d3412f99-a837-454d-8e55-f946b411dae8"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzE0LTUtMS0xLTI2MjI4_db75f716-c525-47fa-b8fc-cd625b13f69b"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzItNS0xLTEtMjYyMjg_8bbd21c1-56d1-46a4-b38f-764a147fed00"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMS0xLTEtMjYyMjg_4b5f7531-9c9b-45ad-a0e4-de19192448a1"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzExLTUtMS0xLTI2MjI4_c096b1da-da96-4809-83cf-0b06ac523ff5"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzgtMy0xLTEtMjYyMjg_06d49474-fd39-4f36-a0e3-eedca27d393e"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMwLTUtMS0xLTI2MjI4_c78605c8-9496-41a0-866e-1b1af8f716ba"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90YWJsZTo5ODdmNTQ1MDU2ZDI0ODgwYTUyZTUwODRjMjYwNWNhYS90YWJsZXJhbmdlOjk4N2Y1NDUwNTZkMjQ4ODBhNTJlNTA4NGMyNjA1Y2FhXzMxLTUtMS0xLTI2MjI4_e26ea914-a290-4c32-85ec-12671ff1963a"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjY3NDA2OWIyMjM1MjRlNGM4MTg0MDU3Mjc2MTY5NmYxL3NlYzo2NzQwNjliMjIzNTI0ZTRjODE4NDA1NzI3NjE2OTZmMV8xMzYvZnJhZzpkZGVlNjA0ZWZkY2Y0YzY4OWVhMGM5MTVmNjhhZjRjNy90ZXh0cmVnaW9uOmRkZWU2MDRlZmRjZjRjNjg5ZWEwYzkxNWY2OGFmNGM3XzQzOTgwNDY1MTE0NDM_bc9e7b0f-8e87-4777-b0cb-8e7e364eaa50"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
